判断手机是否有root权限

来源:互联网 发布:勒索软件最新消息 编辑:程序博客网 时间:2024/04/28 11:55
第一种:
Android可以直接运行一个底层命令,来判断是否root,但是这会带来一个问题,每次判断是否root都会弹出一个root请求框。这是十分不友好的一种交互方式,而且,用户如果选择取消,有部分手机是判断为非root的。这种方式的特点是交互不友好,而且有误判。
第二种:。
一般root手机都会有一些的特殊文件夹,比如/system/bin/su,/system/xbin/su,里面存放有相关的权限控制文件。因此只要手机中有一个文件夹存在就判断这个手机root了。然后经过测试,这种方法在大部分手机都可行。这种方式的特点是交互友好,但是有误判。
第三种:
第三种判断方式是基于第二种的,部分国产,比如小米系列,有第二种方式所说的文件夹,但是系统是未root的,判断成了已root。经过分析,这是由于小米有自身的权限控制系统而导致。只需要在第二种方法的基础上,再另外判断文件拥有者对这个文件是否具有可执行权限(第4个字符的状态),就基本可以确定手机是否root了。这种方法基本可以判断所有的手机,而且不弹出root请求框。
/** * 判断当前手机是否有ROOT权限 * @return */ public boolean isRoot(){ boolean bool = false; try{ if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){ bool = false; } else { bool = true; } Log.d(TAG, "bool = " + bool); } catch (Exception e) { } return bool; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

    0 0
    原创粉丝点击