Coin163

首页 > Android: Requesting root access in your app

Android: Requesting root access in your app

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1073

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
入口地址https://www.aliyun.com/minisite/goods

转帖:http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/

 

 

This snippet shows how root access can be requested inside an application in order to write a file into a place we do not have permission to access usually. Requesting root access will only work if your phone allows it, or it has been ‘rooted’ (hacked to allow superuser permissions).

view plain copy to clipboard print ?
  1. Process p;   
  2. try {   
  3.    // Preform su to get root privledges   
  4.    p = Runtime.getRuntime().exec("su");    
  5.   
  6.    // Attempt to write a file to a root-only   
  7.    DataOutputStream os = new DataOutputStream(p.getOutputStream());   
  8.    os.writeBytes("echo /"Do I have root?/" >/system/sd/temporary.txt/n");   
  9.   
  10.    // Close the terminal   
  11.    os.writeBytes("exit/n");   
  12.    os.flush();   
  13.    try {   
  14.       p.waitFor();   
  15.            if (p.exitValue() != 255) {   
  16.               // TODO Code to run on success   
  17.               toastMessage("root");   
  18.            }   
  19.            else {   
  20.                // TODO Code to run on unsuccessful   
  21.                toastMessage("not root");   
  22.            }   
  23.    } catch (InterruptedException e) {   
  24.       // TODO Code to run in interrupted exception   
  25.        toastMessage("not root");   
  26.    }   
  27. } catch (IOException e) {   
  28.    // TODO Code to run in input/output exception   
  29.     toastMessage("not root");   
  30. }  
Process p;
try {
   // Preform su to get root privledges
   p = Runtime.getRuntime().exec("su"); 

   // Attempt to write a file to a root-only
   DataOutputStream os = new DataOutputStream(p.getOutputStream());
   os.writeBytes("echo /"Do I have root?/" >/system/sd/temporary.txt/n");

   // Close the terminal
   os.writeBytes("exit/n");
   os.flush();
   try {
      p.waitFor();
           if (p.exitValue() != 255) {
        	  // TODO Code to run on success
              toastMessage("root");
           }
           else {
        	   // TODO Code to run on unsuccessful
        	   toastMessage("not root");
           }
   } catch (InterruptedException e) {
      // TODO Code to run in interrupted exception
	   toastMessage("not root");
   }
} catch (IOException e) {
   // TODO Code to run in input/output exception
	toastMessage("not root");
}

Where my “toastMessage” is just a function which creates a toast to display on the screen. On phones with superuser permissions installed (root access) this will display a dialog asking the user to allow or deny the application permission to have root access:

 

android request root access dialog

原文

转帖:http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/     This snippet shows how root access can be requested inside an application in order t

------分隔线----------------------------
相关推荐