如何获取DevicePolicyManager实例
devicePolicyManager =(DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); componentName = new ComponentName(this,MyAdmin.class);
首先要获取系统设备管理权限
if(!devicePolicyManager.isAdminActive(componentName)){
Intent intent =
new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "----这是一键锁屏激活界面-----");
startActivityForResult(intent, 0);
}
获取Componentname实例中用到了MyAdmin.class,该类是自己实现的一个receiver,继承DeviceAdminReceiver用于
public class MyAdmin extends DeviceAdminReceiver {
}
如果没有特殊的需求,可以直接空类就可以了,有特殊需求,在重写它的一些方法
然后我们需要在AndroidManifest.xml中定义该receiver,以及intent过滤
<receiver android:name=".MyAdmin">
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/my_admin">
</meta-data>
<intent-filter>
<action
android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
</intent-filter>
</receiver>
android:resource=”@xml/my_admin” 我们在xml目录下的my_admin.xml中定义我们都需要过滤哪些系统操作
常用的主要有
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
<disable-camera/>
</uses-policies>
</device-admin>
从上面的名字大致也知道都是些什么操作
如何执行重置锁屏密码呢?
devicePolicyManager.resetPassword(“123456”,0);
锁屏?
devicePolicyManager.lockNow();
作者:happydonkey 链接:https://www.jianshu.com/p/2ad877f5b000 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。