我正试图从具有系统权限的应用程序(标准上传,非root)向前台应用程序发送触摸事件(点击和移动)
我能够直接从linux shell运行shell脚本来模拟输入,但不能从我的应用程序:
Runtime.getRuntime().exec(cmd)
返回
cannot open /dev/input/event1, permission denied
如果cmd
是sh /path/script-emulating-events
或sendevent /dev/input/event1 xxxx x x
,则会发生这种情况。
由于该应用程序具有用于共享用户id的android.uid.system,因此不应该是android权限问题。
知道吗?
为了运行这些命令,您必须root您的设备。
果冻豆中似乎有一些新东西!输入命令有所改进:
usage: input ...
input text <string>
input keyevent <key code number or name>
-> input tap <x> <y>
-> input swipe <x1> <y1> <x2> <y2>
它在4.1.2 上运行良好