1.定义特殊的广播接收者,系统超级管理员的广播接收者
public class MyDeviceAdminReceiver extends DeviceAdminReceiver{
@Override
public void onReceive(Context context,Intent intent){
//TODO
}
}
2.在AndroidManifest.xml文件中,注册超级管理员的广播接收者
<receiver
android:name="com.example.receiver.MyDeviceAdminReceiver"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_sample"/>
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
</intent-filter>
</receiver>
3.在res/xml中创建策略声明xml
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock/><!--强制锁屏-->
<wipe-data/><!--清除数据-->
<reset-password/><!--重置密码-->
...
</uses-policies>
补充知识:Android通过代码获取ROOT权限
获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了。
首先我们需要检测是否已经有root权限,判断代码如下:
// 判断是否具有ROOT权限
public static boolean is_root(){
boolean res = false;
try{
if ((!new File("/system/bin/su").exists()) &&
(!new File("/system/xbin/su").exists())){
res = false;
}
else {
res = true;
};
}
catch (Exception e) {
}
return res;
}
然后我们执行获取root权限的代码
// 获取ROOT权限
public void get_root(){
if (is_root()){
Toast.makeText(mCtx, "已经具有ROOT权限!", Toast.LENGTH_LONG).show();
}
else{
try{
progress_dialog = ProgressDialog.show(mCtx,
"ROOT", "正在获取ROOT权限...", true, false);
Runtime.getRuntime().exec("su");
}
catch (Exception e){
Toast.makeText(mCtx, "获取ROOT权限时出错!", Toast.LENGTH_LONG).show();
}
}
}
以上这篇Android获取超级管理员权限的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。