1.第一步,manifest里注册广播:
<!-- 注册设备管理器--> <receiver android:name=".DeviceManageReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN"> <intent-filter> <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> </intent-filter> <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin" /> </receiver>
2.第二步,在res下新建xml,xml下新建device_admin.xml文件:
<?xml version="1.0" encoding="utf-8"?> <device-admin xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 指定设备超级管理员所拥有的权限 --> <uses-policies> <disable-camera /> <!--停用相机--> <encrypted-storage /><!--设置存储设备加密--> <expire-password /><!--设置锁定屏幕密码的有效期--> <force-lock /><!--强制锁屏--> <limit-password /><!-- 限制密码类型--> <reset-password /><!--重置密码--> <watch-login /><!-- 监控屏幕解锁尝试次数--> <wipe-data /><!--清除数据恢复出厂设置--> <disable-keyguard-features/><!--禁用键盘保护功能--> <set-global-proxy/><!--设置全局代理--> </uses-policies> </device-admin>
3.第三步,新建DeviceManageReceiver注册广播继承DeviceAdminReceiver类:
/** * 注册设备管理器 * * @author CJF */ public class DeviceManageReceiver extends DeviceAdminReceiver { private final String TAG = "DeviceManageReceiver"; @Override public void onEnabled(Context context, Intent intent) { Log.d(TAG, "设备管理可用 ------onEnabled-------"); super.onEnabled(context, intent); } @Override public void onReceive(Context context, Intent intent) { Log.d(TAG, "设备管理不可用 --------onReceive-----"); super.onReceive(context, intent); } @Override public CharSequence onDisableRequested(Context context, Intent intent) { // return super.onDisableRequested(context, intent); // "这是一个可选的消息,警告有关禁止用户的请求"; return "关闭后不可使用一些功能"; } }
4.第四步,在activity里申请激活:
DevicePolicyManager manager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); //启动第三方组件 ComponentName componentName = new ComponentName(context, DeviceManageReceiver.class); // 判断是否为设备管理器 if (manager.isAdminActive(componentName)) { Log.d(TAG, "isDeviceAdminActive 已经激活"); } else { Log.d(TAG, "isDeviceAdminActive 未激活"); //如果不是,则构建一个intent,action参数的意思为添加一个设备管理者 Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); context.startActivity(intent); }
//————————————————————–END———————————————————-
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118281.html