de647c02a396977619bd098b86c54b45.png

1.定义特殊的广播接收者,系统超级管理员的广播接收者

public class MyDeviceAdminReceiver extends DeviceAdminReceiver{

@Override

public void onReceive(Context context,Intent intent){

//TODO

}

}

2.在AndroidManifest.xml文件中,注册超级管理员的广播接收者

android:name="com.example.receiver.MyDeviceAdminReceiver"

android:permission="android.permission.BIND_DEVICE_ADMIN">

android:name="android.app.device_admin"

android:resource="@xml/device_admin_sample"/>

3.在res/xml中创建策略声明xml

...

补充知识: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获取超级管理员权限的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐