欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Android 判断Root的方法,android判断root,方法一:(不弹框)

来源: javaer 分享于  点击 22739 次 点评:162

Android 判断Root的方法,android判断root,方法一:(不弹框)


方法一:(不弹框)

    private final static int kSystemRootStateUnknow = -1;    private final static int kSystemRootStateDisable = 0;    private final static int kSystemRootStateEnable = 1;    private static int systemRootState = kSystemRootStateUnknow;``````javapublic 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 &amp;&amp; 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;    }  
相关栏目:

用户点评