首页 > 解决方案 > 在我的应用程序中执行命令

问题描述

我正在尝试从我的 android 应用程序执行命令,以便通过代码配置我设备的某些方面。例如,我正在尝试使用以下代码(来自扩展 MainActivity 类的类)锁定我的设备:

Process p=Runtime.getRuntime().exec("su");
DataOutputStream dos = new DataOutputStream(p.getOutputStream());
dos.writeBytes("adb shell input keyevent 26");
dos.writeBytes("exit\n");
dos.flush();
dos.close();
p.waitFor();

当我运行它时,我收到:

java.io.Exception: Error running exec(). Command: [su] Working directory: null Environment: null

我的设备没有root。我已经尝试过其他方法来做到这一点,但都没有成功。

任何想法?

标签: javaandroidcommand-line

解决方案


我已经多次收到空工作目录错误,这一直是我的命令的问题。尝试这个:

Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "input keyevent 26"});
proc.waitFor();

这至少应该解决“空环境”错误。


推荐阅读