Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)

 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;
 }





   

你可能感兴趣的:(Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?))