2

我正在开发 Android 的 Synergy 端口(请参阅 synergy-foss.org)。

我发现注入击键的唯一方法是使用 Cyanogen Mod 并将击键写入 /dev/uinput。但是,我的应用程序没有写入 /dev/uinput 的权限。我发现解决这个问题的唯一方法是 chmod 777 /dev/uinput。

但是......似乎在一段时间后 /dev/uinput 上的权限被重置 - 通过什么?我不知道。

有没有更好的方法,或者有没有办法在 Cyanogen mod 中以 root 身份运行您的应用程序?

谢谢

4

2 回答 2

0

嗯,我想这很简单

Process p = Runtime.getRuntime().exec("su");
于 2010-10-29T13:11:29.393 回答
0

看看IWindowManager注入键事件。它位于平台 SDK 的 layoutlib.jar 中。我不确定应用程序需要什么权限才能调用它(例如是否为 root),但这是一个开始。我认为您不需要 root 来执行该方法。

我玩了一会儿,能够从我的电脑键盘上注入击键,让设备“重复”这个动作。

于 2010-10-29T14:05:43.467 回答