您的位置:首页 > 移动开发 > Android开发

【Android】监测root权限:通过判断su文件确定

2015-09-10 09:58 627 查看
最开始的思路是执行su命令,查看返回结果,实际测试发现程序会停滞(对程序的操作程序不能及时反应),陷入苦苦思索,后来想到root权限其实关键是su文件,那能不能通过判断su文件是否存在来做root权限检测呢?

private enum RootState {NA, NO, OK}

private static RootState rootState = RootState.NA;

/*
* 通过判断是否存在su文件来决断系统是否已经root
* */
public static boolean isRooted() {
if (rootState == RootState.OK) return true;
else if (rootState == RootState.NO) return false;
String Paths[] = {"/system/bin/", "/system/xbin/", "/system/sbin/", "/sbin/", "/vendor/bin/"};
try {
for (String s : Paths)
if (new File(s + "su").isFile()) {
rootState = RootState.OK;
break;
} else rootState = RootState.NO;
} catch (Exception e) {
e.printStackTrace();
}
return rootState == RootState.OK;
}


别人的尝试:

android中如何通过代码检测是否有root权限?

PS:

中途碰到的小技巧:

android延时执行的几种方法

Android中的Context详解

Android的intent之间复杂参数的传递

Android Service 服务(三)—— bindService与remoteService

关于Service的生命周期,以及ServiceConnection接口时注意的东东
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android