毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

Android程序能在后台监听按键么,Android能实现模拟按键么

更新时间:2012-9-19:  来源:毕业论文

问题一: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));   
        }
好 getCurrentInputConnection()这个函数编译不过
The method getCurrentInputConnection() is undefined for the type keytest

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_RIGHT);

 

j2se下可以模拟按键,android中没试过可以在framework中调用iwindowmanager编译成jar放到system/framework下,然后用aprocess通过shell调用就可以实现模拟按键了,可以创建测试工程,使用inst然模拟发送按键消息关于如何利用aprocess,你可以开个模拟器,然后提取/system/bin/monkey文件出来用EditPlus等工具打开看看,它就是调用了/system/framework/monkey.jar

在framework调用iwindowmanager就是在Android的全部源码的环境下利用Android.mk文件写程序,这样的好处是可以调用sdk里没有的库包,比如IWindowManager,编译生成的是一个jar文件,你可以给他运行的附加参数,比如autotest -touch 123.0 123.0 来实现点击(123,123),因为Android系统不能直接运行jar文件,所以你需要利用aporcess来调用jar

测试工程可以编译生成apk,和目标程序一起安装到系统里,然后用adb shell am instrument 命令来运行测试工程即可

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。