Java Android-在应用程序中输入文本不';行不通

Java Android-在应用程序中输入文本不';行不通,java,android,shell,adb,Java,Android,Shell,Adb,我正在尝试使用adb输入文本方法将文本输入到当前正在运行的应用程序(不是我自己的)中,如果我从命令提示符(如“adb输入文本”Android)运行它,以及从终端仿真器运行它,则该方法可以工作。但是,下面的代码成功运行,但在屏幕上不产生任何输出。。我还尝试了各种其他方法来运行shell命令,这些命令也没有失败,但没有输出任何文本。。 有人知道我做错了什么吗 try { //Runtime.getRuntime().exec("su"); Runtim

我正在尝试使用adb输入文本方法将文本输入到当前正在运行的应用程序(不是我自己的)中,如果我从命令提示符(如“adb输入文本”Android)运行它,以及从终端仿真器运行它,则该方法可以工作。但是,下面的代码成功运行,但在屏幕上不产生任何输出。。我还尝试了各种其他方法来运行shell命令,这些命令也没有失败,但没有输出任何文本。。 有人知道我做错了什么吗

try {
            //Runtime.getRuntime().exec("su");
            Runtime.getRuntime().exec("input text \":\"");
        } catch (IOException e) {
            e.printStackTrace();
        } 

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

   android.permission.INJECT_EVENTS 
权限,因此它必须是系统应用程序


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

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

char * command = "input text hello%sworld\0";
system( command );//fork and exec input text ...
也许您需要使用:
Runtime.getRuntime().exec(“shell输入文本”)

感谢您的回复,仍然没有输出任何内容。我还尝试在我的应用程序中使用EditText,效果很好。。我也可以从终端运行任何应用程序。。