首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

关于怎么判断手机ROOT

2012-12-23 
关于如何判断手机ROOT在Android中,虽然我们可以通过Runtime.getRuntime().exec(su)的方式来判断一个手机

关于如何判断手机ROOT
  在Android中,虽然我们可以通过Runtime.getRuntime().exec("su")的方式来判断一个手机是否Root,
但是该方式会弹出对话框让用户选择是否赋予该应用程序Root权限,有点不友好。
其实我们可以在环境变量$PATH所列出的所有目录中查找是否有su文件来判断一个手机是否Root。
当然即使有su文件,也并不能完全表示手机已经Root,但是实际使用中作为一个初略的判断已经很好了。
另外出于效率的考虑,我们可以在代码中直接把$PATH写死。

 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){}

热点排行