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/

10-11 22:37
查看更多