问题一:Android 程序能在后台监听按键么?就像输入法那种监听一样,只要有按键它就能弹出软键盘?
能直接在程序里像BroadcastReceiver这样获得键盘按下的消息并进行处理么?相当于后台键盘记录器
我只找到了android.intent.action.CAMERA_BUTTON 和android.intent.action.MEDIA_BUTTON
问题二: Android能实现模拟按键么?
我搜索到要使用的IWindowManager和ServiceManager好像在1.6以后的版本就没法使用了
不知道大家有些什么办法?或者提供一起其他模拟按键的方法
------解决方案--------------------
1.看下输入法的结构机制吧,apidemo中有流程,应该是可以的
2.模拟按键当然可以,发送一个keycode就可以了
- Java code
InputConnection ic = getCurrentInputConnection(); if ( null != ic ){ //code种类有很多 ic.sendKeyEvent( new KeyEvent(KeyEvent.ACTION_DOWN, keyEventCode)); ic.sendKeyEvent( new KeyEvent(KeyEvent.ACTION_UP, keyEventCode)); }
------解决方案--------------------
- Java code
Robot robot = new Robot();robot.keyPress(KeyEvent.VK_RIGHT);
------解决方案--------------------
可以在framework中调用iwindowmanager编译成jar放到system/framework下,然后用aprocess通过shell调用就可以实现模拟按键了,可以创建测试工程,使用inst然模拟发送按键消息