最近,需要在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-11-06 20:20:19 发布
本文探讨了在Android系统中实现模拟按键功能的方法。由于IWindowManager接口中的injectKeyEvent被移除,作者尝试了多种方法,最终在Android源码中找到了解决方案,并在adb命令中发现了该功能的存在。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

2万+

被折叠的 条评论
为什么被折叠?



