aide检查是否已经获取root权限

前言

ROOT是安卓手机的最高权限,拥有ROOT之后就意味着已经获得了系统的最高权限,这时候你可以对系统中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

我们在开发一个需要ROOT权限的项目时,需要检查安卓手机是否已经获取ROOT权限。

那么问题来了,我们要怎么用代码来检查安卓手机是否已经获取ROOT权限了呢?

教程开始

在MainActivity类中定义一个checkRoot()方法用来检查是否已经获取ROOT权限,代码如下:

/**
执行Linux命令,检查是否已经获取ROOT权限
*/
private boolean checkRoot() {
//声明进程对象
Process process=null;
//声明数据输出流对象
DataOutputStream os=null;
//声明执行结果
int exitValue=1;
try {
//执行su命令
process = Runtime.getRuntime().exec("su");
//实例化数据输出流对象
os = new DataOutputStream(process.getOutputStream());
os.writeBytes("exit\n");//退出
//清空数据输出流
os.flush();
//将执行结果赋值
exitValue = process.waitFor();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
if (os != null) {
try {
os.close();//关闭输出流
} catch (IOException e) {
e.printStackTrace();
}
}
//杀掉子线程
process.destroy();
}
return exitValue == 0;
}

在onCreate方法内调用checkRoot()方法来判断是否已经获取ROOT权限,代码如下:

/*判断是否获取root权限
true 已获取ROOT权限
false 未获取ROOT权限*/
if (checkRoot()) {
Toast.makeText(this, "已获取root权限", 0).show();
} else {
Toast.makeText(this, "未获取root权限", 0).show();
}

版权声明:本文为AIDE教程网原创文章,转载请附上原文出处链接和本声明。
本文链接:https://www.aidemx.cn/859.html

 版权声明:本文为AIDE教程网原创文章,转载请附上原文出处链接和本声明
本文链接: https://www.aidemx.cn/859.html

梦雪

专注于AIDE教程分享

    留下你的评论

    *评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

    相关推荐