android设备管理器.md
android设备管理器
-
1.android设备管理器(只有提示用户激活后,才可以使用)--
DevicePolicyManager
:- 使用到三个类:
- DevicePolicyManager
密码定义的长度,密码是否要含大写字母,小写字母等设置密码需要满足的规范,锁定设备或是清除所有用户数据,要配合DeviceAdminReceiver来使用
方法:-
1.进行锁屏操作
mDevicePolicyManager.lockNow()
-
2.
设置屏幕灯光变暗时间相关
long timeout = 1000L * Long.parseLong(et.getText().toString());
mDevicePolicyManager.setMaximumTimeToLock(mDeviceComponentName, timeout);
mDevicePolicyManager.wipeData(0); -
3.
恢复出厂设置
mDevicePolicyManager.wipeData(0);
-
- DeviceAdminReceiver
该类继承自 BroadcastReceiver 。 从源码可以看到,其实就是实现了一个OnReceive方法,该方法中根据不同的Action,执行相应的操作。 比如,如果激活成功,那么Action就是ACTION_DEVICE_ADMIN_ENABLED, 据此调用 onEnabled 方法。 - DeviceAdminInfo
包括设备信息,Info,就是Information嘛,呵,,乱猜也可以猜到,至于里面什么属性,到时候朋友们可以直接"."下就知道啦
- DevicePolicyManager
- 实现步骤:
-
1.在androidmanifest.xml中注册一个广播类,用于监听权限的变化
<receiver
android:name=".AdminReceiver"
android:description="@string/description"
android:label="@string/labelValue"
android:permission="android.permission.BIND_DEVICE_ADMIN"
>
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/lockourscreen"/>
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter></receiver>
-
-
创建管理权限的清单:--》早
res
的文件夹下创建一个xml
文件夹,再创建lockourscreen.xml
<?xml version="1.0" encoding="UTF-8"?>
<device-admin
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock /><!-- 因为今天我们只讲下简单的,所以其它的权限,小马先暂时注释掉咯,有兴趣的朋友们可以打开自己试下--> <!-- 清除所有数据(恢复出厂设置)--> <wipe-data /> <!-- 重置密码 --> <reset-password /> <!-- 限制密码选择--> <limit-password /> <!-- 监控登录尝试 --> <watch-login /> </uses-policies> </device-admin>
<uses-policies></uses-policies>
中间的内容是可以不要的。因为这部分是系统给的提示语,而我们在自己做程序的时候,可以输入自己想写的内容。 -
-
3.创建广播类deviceAdminReceiver 继承DeviceAdminReceiver并且实现相应的方法
-
4.激活相关管理权限的操作的操作
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);//权限列表 //EXTRA_DEVICE_ADMIN参数中说明了用到哪些权限, intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); //描述(additional explanation) //EXTRA_ADD_EXPLANATION参数为附加的说明 intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "--小马坏,小马爱,小马瓜瓜怪--"); startActivityForResult(intent, 0);
-
5.实现锁屏,等操作
mDevicePolicyManager.lockNow();
-
- 使用到三个类: