Chinaunix

标题: Android应用程序请求root访问 [打印本页]

作者: cu_Cbear    时间: 2011-03-28 19:26
标题: Android应用程序请求root访问
Android应用程序请求root访问




前提是手机已经破解获取root权限
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).
  1. 1.Process p;

  2. 2.try {

  3. 3.   // Preform su to get root privledges

  4. 4.   p = Runtime.getRuntime().exec("su");

  5. 5.

  6. 6.   // Attempt to write a file to a root-only

  7. 7.   DataOutputStream os = new DataOutputStream(p.getOutputStream());

  8. 8.   os.writeBytes("echo \"Do I have root?\" >/system/sd/temporary.txt\n");

  9. 9.

  10. 10.   // Close the terminal

  11. 11.   os.writeBytes("exit\n");

  12. 12.   os.flush();

  13. 13.   try {

  14. 14.      p.waitFor();

  15. 15.           if (p.exitValue() != 255) {

  16. 16.                  // TODO Code to run on success

  17. 17.              toastMessage("root");

  18. 18.           }

  19. 19.           else {

  20. 20.                   // TODO Code to run on unsuccessful

  21. 21.                   toastMessage("not root");

  22. 22.           }

  23. 23.   } catch (InterruptedException e) {

  24. 24.      // TODO Code to run in interrupted exception

  25. 25.           toastMessage("not root");

  26. 26.   }

  27. 27.} catch (IOException e) {

  28. 28.   // TODO Code to run in input/output exception

  29. 29.        toastMessage("not root");

  30. 30.}
复制代码
复制代码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:




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2