gpt4 book ai didi

java - 如何提高android中输入命令的速度?

转载 作者:行者123 更新时间:2023-12-02 06:14:01 31 4
gpt4 key购买 nike

我正在开展一个项目,旨在帮助残疾人更好地使用他们的 Android 设备(主要用于教育目的)。我们提出了一些关于替代输入设备的想法,并使用输入命令在屏幕上重播该设备。目前,我们必须root手机并使用输入命令

input tab x y

但执行单个选项卡大约需要 3 秒,速度太慢。在深入研究文档后,我发现了 sendevent.c 并且我意识到它为每个命令打开和关闭接口(interface)文件。无论如何,我可以将输入直接写入该文件,这可能会改善每个选项卡的延迟吗?

有没有其他方法可以重播输入?我知道应用程序商店中的许多应用程序也可以在没有 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;
}
}

最佳答案

所以我实际上是对一些键盘这样做的。我们所做的是将正在发生的事件记录在日志文件中。然后,我们编写了代码,通过创建一个线程来重播该文件,然后读入该文件并在同一时间以相同的顺序发出直接触摸/键盘/其他事件, hibernate 直到需要创建下一个命令。效果相当不错,但调试速度很慢。

然后,我们重写了所有算法,以处理输入中嵌入时间的输入流。然后我们可以伪造任何我们想要的输入集。这对于调试来说非常快,并成为我们的 goto 方法。

关于java - 如何提高android中输入命令的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55883648/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com