注入触摸事件

时间:2015-08-12 19:48:59

标签: android touch ui-automation multi-touch

我需要在没有root的情况下跨应用程序边界注入触摸事件。原因是我有一个外部触摸屏,我想用来“替换”手机屏幕。将触摸屏视为手机屏幕的更大版本。我已经在投射屏幕,并已编写了一项服务来捕获外部屏幕上的触摸事件。现在我想把它们发送到手机上,好像它们是通过手机发送的。 该解决方案不需要计算机(因为触摸屏需要通过USB OTG连接) FRep,VNC(非root)和AutoInput似乎都在没有root的情况下跨应用程序边界进行至少一些触摸事件。 由于其他原因,我必须使用Jelly Bean或更高版本,因此UiAutomation可能是我最好的解决方案。

我看过这个回复(How to inject click event with Android UiAutomation.injectInputEvent) 看起来它可能就是我需要的东西,只是我无法让它发挥作用。它只是在automation.injectInputEvent(motionDown,true);

上崩溃

1 个答案:

答案 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。