方法一:(不弹框)
    private final static int kSystemRootStateUnknow = -1;      private final static int kSystemRootStateDisable = 0;      private final static int kSystemRootStateEnable = 1;      private static int systemRootState = kSystemRootStateUnknow; 

public static boolean isRootSystem() {          if (systemRootState == kSystemRootStateEnable) {              return true;          } else if (systemRootState == kSystemRootStateDisable) {              return false;          }          File f = null;          final String kSuSearchPaths[] = { "/system/bin/", "/system/xbin/",                  "/system/sbin/", "/sbin/", "/vendor/bin/" };          try {              for (int i = 0; i < kSuSearchPaths.length; i++) {                  f = new File(kSuSearchPaths[i] + "su");                  if (f != null && f.exists()) {                      systemRootState = kSystemRootStateEnable;                      return true;                  }              }          } catch (Exception e) {          }          systemRootState = kSystemRootStateDisable;          return false;      }


方法二:(会弹框)
public synchronized boolean getRootAhth()    {        Process process = null;        DataOutputStream os = null;        try        {            process = Runtime.getRuntime().exec("su");            os = new DataOutputStream(process.getOutputStream());            os.writeBytes("exit\n");            os.flush();            int exitValue = process.waitFor();            if (exitValue == 0)            {                return true;            } else            {                return false;            }        } catch (Exception e)        {            Log.d("*** DEBUG ***", "Unexpected error - Here is what I know: "                    + e.getMessage());            return false;        } finally        {            try            {                if (os != null)                {                    os.close();                }                process.destroy();            } catch (Exception e)            {                e.printStackTrace();            }        }    }


方法三:(会弹框)
//判断机器 Android是否已经root,即是否获取root权限       protected static boolean haveRoot()      {        int i = execRootCmdSilent("echo test"); //通过执行测试命令来检测         if (i != -1)  return true;        retrun false;      }

更多相关文章

  1. Android简单实现启动画面的方法
  2. android 获取锁屏,解锁的方法
  3. android中的activity里获得context方法
  4. android paint设置字体 中文字体 楷体 和自动换行方法(zhuan)
  5. Android发送短信,并监听短信发送后是否发送成功的实现方法
  6. 找不到R.java 解决方法
  7. Android Toast的几种简单调用方法
  8. android java调用命令行给文件赋权限

随机推荐

  1. Android Widget程序源码
  2. Gradle sync failed: Gradle DSL method
  3. 用于做 Android 屏幕自适应的文章资源
  4. Android程序设置成横屏方法
  5. Android 从uri中获取路径
  6. Android隐藏输入法软键盘的注意事项
  7. Android Softap启动分析
  8. Grade 编译 Android 解决 Error:more tha
  9. android maven 签名
  10. 【Android】播放提示音