java - Android - 在应用程序内输入文本不起作用

标签 java android shell adb

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

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

最佳答案

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

   android.permission.INJECT_EVENTS 

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

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

关于java - Android - 在应用程序内输入文本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14320990/

相关文章:

shell - zsh 重定向,以及参数扩展

bash - 如何使用 UNIX 工具对 "MON_YYYY_day_NUM"时间进行排序?

java - 如何修复 "unchecked call to ' AttachView(V )' as a member of raw type ' BasePresenter'"?

java - 在 Spring 应用程序中同时使用 Vaadin 和 Spring WebFlux,如何设置路由?

python - 如何使用python Popen自动输入并将控制权返回到命令行

java - 后台模式与关闭模式

java - 同步未进入

java - 使类可打印

Java utils 二分搜索未找到所有值

java - 如何在 Spinner 中显示选定的项目?