Android中判断手机是不是已经Root

精贴 置顶
1100 0

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

   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;
    }

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012/6/25
.NET后台写JS代码 2011/11/3
网站地址多出jdfwkey的问题解析及... 2010/8/25
百度、google、Yahoo网站地图制作... 2011/1/30
数据库xxx的日志已满,请备份该数... 2013/7/19
<a>标签的伪类书写顺序问题... 2010/9/4
CEO名言 2010/8/31
什么是长尾关键词? 2010/9/24
Mysql 主从数据库同步 2010/9/12
用ASP实现网页BBS 2010/11/1
博主推荐
网站title标题如何正确修改不会被... 2013/8/26
ASP .NET MYSQL 的简单分页 并不... 2013/8/19
网站有弹窗广告这样的站点,百度... 2013/8/17
做淘宝SEO优化需要注意的8大问题 2013/8/17
淘宝网怎么做SEO优化 2013/8/17
站长们要学习的“苍井空精神” 2013/8/17
苹果公司今日发布了iOS 7第五个开... 2013/8/7
小米1刷V5系统WIFI不能连接解决办... 2013/8/1
本博客手机版上线咯!会员后台也... 2013/7/31
Win7系统环境安装配置PHP开发环境... 2013/7/29
随便看看
IE JS中拒绝访问的处理方法 2013/6/9
域名如何解析指向到空间,邮箱 2010/9/2
在ASP.NET中加密页面机制 . 2013/11/15
如何配置java环境变量路径 2010/8/31
个人博客群发会被K掉吗? 2010/9/21
守住你的网站 防御DDoS攻击实用指... 2010/10/15
NET 获取服务器及客户端信息的方... 2010/8/28
把图片转换成二进制--把二进制转... 2013/11/19
X-UA-Compatible 2013/10/23
下拉菜单select友情链接自动跳转... 2010/11/15
北京 上海 杭州 深圳 广州 成都