一般检测root权限分两种情况:
第一种:检测应用是否拥有root权限,这种检测可以直接运行su命令,然后一般会有弹窗询问是否给予软件root权限。如果用户拒绝后,应用就会被判断为未拥有root权限。就像第一句话说的,这种方式只能【检测应用是否拥有root权限】。
第二种:检测手机是否拥有root权限,读取system目录下的文件内容,未root的手机会读取失败。可以选择读取system/build.prop,一般Android手机都会有这个文件。
下面直接贴代码:
/**
* 檢查root權限,嘗試讀取system/build.prop文件內容,未root的手機無法正常讀取。
* @return 是否root
*/
public static boolean checkRoot() {
if(TextUtils.isEmpty(readFile(“system/build.prop”))){
return false;
}else {
return true;
}
}
public static StringreadFile(String fileName){
File file =new File(fileName);
try {
FileInputStream fis=new FileInputStream(file);
byte[] bytes =new byte[1024];
ByteArrayOutputStream bos =new ByteArrayOutputStream();
int len;
while((len=fis.read(bytes))>0){
bos.write(bytes, 0, len);
}
String result =new String(bos.toByteArray());
return result;
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9638.html