Android 핸드폰에 루트 권한과 자동 설치가 있는지 확인

2214 단어 android
자동 설치를 실행할 때는 휴대전화에 루트 권한을 요청해야 하며, 휴대전화에 루트 권한이 있으면 설치를 완료할 수 있다.코드는 다음과 같습니다.
MainActivity:
import java.io.DataOutputStream;  
import java.io.File;  
import java.io.OutputStream;  
  
import android.os.Bundle;  
import android.os.Environment;  
import android.app.Activity;  
import android.util.Log;  
  
public class MainActivity extends Activity {  
    private static final String TAG = "MainActivity";  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        //       apk    
        String apkName = Environment.getExternalStorageDirectory().toString()  
                + File.separator + "police.apk";  
        Log.e(TAG, "root = " + haveRoot("pm install -r " + apkName));  
    }  
  
    /** 
     *       root   
     *  
     * @param cmd 
     * @return 
     */  
    private boolean haveRoot(String cmd) {  
        int i = execRootCmdSilent(cmd);  
        if (i != -1) {  
            return true;  
        }  
        return false;  
    }  
  
    /** 
     *        
     *  
     * @param paramString 
     * @return 
     */  
    private int execRootCmdSilent(String paramString) {  
        int result = -1;  
        try {  
            Process localProcess = Runtime.getRuntime().exec("su");  
            OutputStream os = localProcess.getOutputStream();  
            DataOutputStream dos = new DataOutputStream(os);  
            dos.writeBytes(paramString + "
"); dos.flush(); dos.writeBytes("exit
"); dos.flush(); localProcess.waitFor(); result = localProcess.exitValue(); } catch (Exception e) { e.printStackTrace(); } return result; } }
권한:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

전전하다http://www.open-open.com/lib/view/open1409191402244.html】

좋은 웹페이지 즐겨찾기