最近,需要在Android中模拟按键功能,在不同activity中切换,查了下网上的资料,基本都是说使用IWindowManager接口中的 injectKeyEent,但是在sdk文档中发现:此函数在sdk1.0之后就取消了,据googl说为了系统的安全,不再暴露此接口,实验了n多方法,包括又重新使用了sdk0.9都失败了,后来某大虾说可以在android源码可以编译通过,我实验了下的确可以。并且在adb 命令 monkey、input中都发现了此函数的身影,下面为input中的部分源码:
IWindowManager.Stub
.asInterface(ServiceManager.getService("window")))
.injectKeyEvent(down, true);
IWindowManager.Stub
.asInterface(ServiceManager.getService("window")))
.injectKeyEvent(up, true);
injectKeyEvent函数可以在源码中编译通过
最新推荐文章于 2024-06-27 17:33:18 发布