屏幕锁定和恢复出厂设置
1.创建 MyAdmin 的广播接受者 继承 DeviceAdminReceiver
<receiver android:name=".MyAdmin">
<meta-data android:name="android.app.device_admin"
android:resource="@xml/my_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
res文件夹下创建xml文件夹,xml文件里创建my_admin.xml文件
my_admin.xml
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
</uses-policies>
</device-admin>
2.获取IDevicePolicyManager
DevicePolicyManager dm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
3.注册广播接受者为admin设备
ComponentName mAdminName = new ComponentName(this, MyAdmin.class);
if (mService != null) {
//先判断是否已经激活
if (!mService.isAdminActive(mAdminName)) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra (DevicePolicyManager.EXTRA_DEVICE_ADMIN,mAdminName);
startActivity(intent);
}
}
4.点击事件中进行锁屏或者清零数据处理
dm.resetPassword("123", 0); //设置锁屏密码,“123”为设置的密码
dm.lockNow();//锁屏
dm.wipeData(0);//恢复出厂设置,0改为1可清除手机和sd卡的数据
dm.removeActiveAdmin(mAdminName)//设置为非激活状态