【发布时间】:2014-08-06 13:06:51
【问题描述】:
是否可以模拟连接到 Android 的 USB 或蓝牙设备?
我想制作一个能够本地模拟 HID 设备的应用。我的意思是:该应用程序应该让 Android 相信连接了 USB/蓝牙 HID 设备。我希望这将允许我的应用程序在全球范围内注入触摸事件。反正有模拟(虚拟)设备吗?请注意,我并不真正关心设备,我只想使用对 HID 输入的内置支持。
我知道很多人已经询问过触摸事件注入,但这种方法似乎有点不同。我确实不想将它用于测试目的,所以 InstrumentationTestCase 之类的东西不会有帮助。
root 设备可能是一种选择,尽管我也可以想象要求我的最终用户手动安装专门签名的应用程序(根据 https://stackoverflow.com/a/16737083/2923406 和 https://stackoverflow.com/a/22902808/2923406 这是可行的,但它是特定于设备的)。
我知道:
Simulate a mouse input on android - 这个人似乎在他自己的应用程序中做到了,尽管他的问题没有得到回答;)
http://www.pocketmagic.net/2013/01/programmatically-injecting-events-on-android-part-2/#.U58SqfldVHV - 需要 Root。有人成功使用这个吗?此外,该解决方案似乎又是针对特定设备的。
Bluetooth + simulating mouse - 这不是我想要的。手机本身不应是 HID 设备,而应使用(虚拟创建的)设备本身。同样的: https://stackoverflow.com/a/8174973/2923406
请注意,我确实不想将我的手机变成任何类型的 HID 设备。
【问题讨论】:
-
否 - 作为设计原则,应用程序不得在系统或其他应用程序中冒充用户。如果在没有外部硬件的情况下意外发生,那将被视为安全漏洞并已修补。
标签: android hid touch-event