我需要在没有root的情况下跨应用程序边界注入触摸事件。原因是我有一个外部触摸屏,我想用来“替换”手机屏幕。将触摸屏视为手机屏幕的更大版本。我已经在投射屏幕,并已编写了一项服务来捕获外部屏幕上的触摸事件。现在我想把它们发送到手机上,好像它们是通过手机发送的。 该解决方案不需要计算机(因为触摸屏需要通过USB OTG连接) FRep,VNC(非root)和AutoInput似乎都在没有root的情况下跨应用程序边界进行至少一些触摸事件。 由于其他原因,我必须使用Jelly Bean或更高版本,因此UiAutomation可能是我最好的解决方案。
我看过这个回复(How to inject click event with Android UiAutomation.injectInputEvent) 看起来它可能就是我需要的东西,只是我无法让它发挥作用。它只是在automation.injectInputEvent(motionDown,true);
上崩溃答案 0 :(得分:0)
所以UiAutomation可能是我最好的解决方案
仅当您的外部触摸屏实际上是运行Windows,OS X或Linux且安装了Android SDK的计算机时。
有FRep
这需要运行Windows,OS X或Linux的计算机,因为它使用了一些Android SDK。
VNC(非root)
这需要运行Windows,OS X或Linux的计算机,因为它使用了一些Android SDK。
自动输入
我认为这是使用辅助功能API,但我不是100%肯定。
我已经看到了这个回应
这需要运行Windows,OS X或Linux的计算机,因为它使用的是Robotium和Android JUnit",而这又需要Android SDK。
如果您希望将输入自动化为普通的Android应用,那么您唯一的选择就是使用辅助功能API。