我正在尝试使用adb输入文本方法输入文本到当前运行的应用程序(不是我自己的),如果我从命令提示符运行它,如'adb输入文本"Android“,也如果我从终端仿真器运行它。但是,下面的代码运行成功,但没有在屏幕上产生任何输出。我也尝试了各种其他方法来运行shell命令,这些命令也没有失败,但不输出任何文本。有人知道我做错了什么吗?
try {
//Runtime.getRuntime().exec("su");
Runtime.getRuntime().exec("input text \":\"");
} catch (IOException e) {
e.printStackTrace();
}
发布于 2013-01-14 17:03:31
要将文本注入android应用程序,注入器必须具有
android.permission.INJECT_EVENTS
权限,所以它必须是一个系统应用。
您的Runtime.getRuntime().exec没有此权限。
发布于 2015-07-13 11:36:12
如果你从Native executable运行你的命令,它会工作的很好。构建NDK二进制文件并执行:
char * command = "input text hello%sworld\0";
system( command );//fork and exec input text ...
发布于 2019-02-19 23:05:22
也许你需要使用:Runtime.getRuntime().exec("shell input text");
https://stackoverflow.com/questions/14320990
复制相似问题