Android - 应用程序中的输入文本不起作用

问题描述 投票:1回答:3

我正在尝试使用adb输入文本方法将文本输入到当前正在运行的应用程序(不是我自己的应用程序)中,如果我从命令提示符运行它,例如'adb input text“Android”,并且如果我从终端模拟器。但是下面的代码运行成功,但屏幕上没有输出..我也尝试了各种其他方法来运行shell命令,这些命令也没有失败但没有输出任何文本..任何人都知道我做错了什么?

try {
            //Runtime.getRuntime().exec("su");
            Runtime.getRuntime().exec("input text \":\"");
        } catch (IOException e) {
            e.printStackTrace();
        } 
java android shell adb
3个回答
1
投票

要将文本注入Android应用程序,注入器必须具有

   android.permission.INJECT_EVENTS 

权限,所以它必须是系统应用程序。

您的Runtime.getRuntime()。exec没有此权限。


0
投票

如果从Native可执行文件运行命令,它可以正常工作。构建NDK二进制文件并执行:

char * command = "input text hello%sworld\0";
system( command );//fork and exec input text ...

0
投票

也许你需要使用:Runtime.getRuntime().exec("shell input text");

© www.soinside.com 2019 - 2024. All rights reserved.