2013-01-14 20 views
1

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

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

回答

1

要注入文本,Android应用注射器必须

android.permission.INJECT_EVENTS 

许可,所以它必须是一个系统的应用程序。

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

+0

感谢您的回复,仍然没有运气没有输出。我也尝试过在我的应用程序中使用EditText,它工作正常..我可以从任何应用程序的终端运行它.. – crazyfool

0

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

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