Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
来源:互联网 发布:c s结构网络模型 编辑:程序博客网 时间:2024/06/05 00:50
private boolean isRoot(String command){Process process = null; DataOutputStream os = null; try { /*Executes the specified program in a separate native process. * The new process inherits the environment of the caller. * Calling this method is equivalent to calling exec(prog, null, null). *///如果设备获取了root权限,那么程序执行su命令时,就会提示用户进行授权process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeBytes(command+"\n"); os.writeBytes("exit\n"); os.flush(); process.waitFor(); } catch (Exception e) { //如果已经root,但是用户选择拒绝授权,e.getMessage() = write failed: EPIPE (Broken pipe) //如果没有root,,e.getMessage()= Error running exec(). Command: [su] Working Directory: null Environment: null Logger.d("Unexpected error - Here is what I know: "+e.getMessage()); return false; } finally { try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { // nothing } } return true; }