try{
Process process;
process = Runtime.getRuntime().exec(command);
BufferedReader in = new BufferedReader(new
InputStreamReader(process.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最佳答案
这取决于您希望运行的命令,您可能不需要任何命令。但是,如果您尝试运行系统级命令,您将需要 root 访问权限(不是 Android 权限)。运行平台命令几乎可以绕过 Android 权限进行的任何操作,并且仅受您的 linux 用户 ID 是否对您发出的命令具有读/写/执行权限的影响。
如果不允许您运行特定命令,Runtime.exec()
也会抛出 SecurityException
并且异常将提供有关在特定情况下原因的更多详细信息,因此您也应该在 try
块中捕获它。您还可以使用 Runtime.checkexec()
来验证您是否可以在实际尝试之前运行某个命令字符串。
希望有帮助!
关于java - 在 Android 中以编程方式运行 shell 命令需要什么权限?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5552385/