【发布时间】:2016-07-22 05:08:17
【问题描述】:
我正在开发一个需要向 /dev/input/eventX 发送触摸事件的 android 应用。我知道C做这样的事情的代码结构如下:
struct input_event {
struct timeval time;
unsigned short type;
unsigned short code;
unsigned int value;
};
要使用这样的代码,我需要设置NDK。相反,我想在 android 中使用 Runtime.getRunTime.exec () 运行等效的 linux 命令,而无需使用 NDK。有没有办法做到这一点?
如果不是,发送事件所需的C 代码的其余部分是什么?例如,如何将 x=200 和 y=300 的触摸事件发送到 event0?我搜索并没有找到明确的解决方案。
谢谢。
【问题讨论】:
-
除非您在有根设备或您自己的自定义 ROM 上运行,否则您的应用无法生成虚假输入数据。
-
@CommonsWare 谢谢,我的设备已经root了,我该怎么办?
-
当你使用搜索引擎搜索
android rooted device fake user input时,你学到了什么? -
@CommonsWare 我已经搜索和测试了超过 3 周。我找到了仪器并尝试过,但它在应用程序的上下文之外失败了。我试过 /system/bin/input tab x y,但它什么也没做。我试过 sendevent /dev/input/eventX 也没有做任何事情。然后,我发现写入/dev/input/eventX需要c代码,但是我不想用NDK,我想在我的应用程序中使用linux命令,我没有找到这样的命令。请帮帮我,该怎么做?
标签: android linux linux-kernel android-ndk