1.创建一个receiver继承自DeviceAdminReceiver
2.在mainfest文件进行注册
<receiver
android:name="com.itheima52.mobilesafe.receiver.AdminReceiver"
android:description="@string/sample_device_admin_description"
android:label="@string/sample_device_admin"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_sample" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
有一个xml文件 内容如下
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
<expire-password />
<encrypted-storage />
<disable-camera />
</uses-policies>
</device-admin>
做完了简单的配置 就是java代码的实现了
private DevicePolicyManager mDPM;
private ComponentName mDeviceAdminSample;
仅仅需要这么两个类
mDPM=(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
mDeviceAdminSample = new ComponentName(context, AdminReceiver.class);// 设备管理组件
if(mDPM.isAdminActive(mDeviceAdminSample)){
mDPM.lockNow();
mDPM.resetPassword("2222", 0);
}else{
activeAdmin();
}
如果激活了权限就锁屏 还可以设置密码。没有激活就进入激活页面
Intent activeIntent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
activeIntent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mDeviceAdminSample);
activeIntent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"啦啦");
context.startActivity(activeIntent);
至此 简单的一键锁屏就结束了 你要是想实现手机桌面的widget效果 在锁屏方法调用之后加上finish就行了..