【发布时间】:2019-09-16 21:56:53
【问题描述】:
我正在开展一个项目,旨在帮助残疾人更好地使用他们的安卓设备(主要用于教育目的)。我们想出了一些关于替代输入设备的想法,并使用输入命令在屏幕上重播。目前,我们必须root手机并使用输入命令
input tab x y
但是执行单个选项卡大约需要 3 秒,这太慢了。
在深入研究文档后,我遇到了sendevent.c,我意识到它为每个命令打开和关闭接口文件。无论如何我可以将输入直接写入该文件,这可能会改善每个选项卡的延迟?
是否有任何替代方法来重放输入?我知道 appstore 上的许多应用程序也可以在没有 root 的情况下非常快速地执行选项卡。
非常感谢
编辑:这是我正在使用的代码块:
int i = 0;
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
while (true){
try {
Process process = null;
process = Runtime.getRuntime().exec("su", null, null);
DataOutputStream os = new DataOutputStream(process.getOutputStream());
String cmd = "/system/bin/input tap " + 273 + " " + (232+90) + "\n"; //760 116
os.writeBytes(cmd);
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();
} catch(Exception e) {
Log.i("CommandSU", e.toString());
i--;
}
i++;
if (i >= 1){
break;
}
}
【问题讨论】: