设备管理员(锁屏,回复出厂设置等功能)
2015-08-04 00:05
405 查看
1.新建一个子类 继承 DeviceAdminReceiver
2.到清单文件注册这个广播接受者
<receiver
android:name="com.example.lockscreen.MyAdmin"
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>然后声明所需权限 (这个对应上面的 receiver-> meta-data -> android:resorece的目录)
<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>
3.开启设备管理员权限
public void startAdmin(View view) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
ComponentName mDeviceAdmin = new ComponentName(MainActivity.this, MyAdmin.class);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdmin);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"啊啊啊啊啊");
startActivity(intent);
}
4.声明变量并赋值
private DevicePolicyManager dpm = null;
在oncreate中
dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
接下来进行系列操作
比如锁屏 并重设密码
<span style="white-space:pre"> </span>dpm.lockNow();<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>dpm.resetPassword("1234", 0);//android 4.4 密码为4位 否则始终错误 不知道是不是没有设置密码长度的关系
5.关闭授权
(必须要关闭授权才能对软件进行卸载)
ComponentName mDeviceAdmin = new ComponentName(MainActivity.this, MyAdmin.class);//第二个参数写前面继承的广播接受者子类
dpm.removeActiveAdmin(mDeviceAdmin);
详情请查看android官方文档: Admnistrator->Devices Polices
地址: http://developer.android.com/guide/topics/admin/device-admin.html
public class MyAdmin extends DeviceAdminReceiver { }
2.到清单文件注册这个广播接受者
<receiver
android:name="com.example.lockscreen.MyAdmin"
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>然后声明所需权限 (这个对应上面的 receiver-> meta-data -> android:resorece的目录)
<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>
3.开启设备管理员权限
public void startAdmin(View view) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
ComponentName mDeviceAdmin = new ComponentName(MainActivity.this, MyAdmin.class);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdmin);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"啊啊啊啊啊");
startActivity(intent);
}
4.声明变量并赋值
private DevicePolicyManager dpm = null;
在oncreate中
dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
接下来进行系列操作
比如锁屏 并重设密码
<span style="white-space:pre"> </span>dpm.lockNow();<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>dpm.resetPassword("1234", 0);//android 4.4 密码为4位 否则始终错误 不知道是不是没有设置密码长度的关系
5.关闭授权
(必须要关闭授权才能对软件进行卸载)
ComponentName mDeviceAdmin = new ComponentName(MainActivity.this, MyAdmin.class);//第二个参数写前面继承的广播接受者子类
dpm.removeActiveAdmin(mDeviceAdmin);
详情请查看android官方文档: Admnistrator->Devices Polices
地址: http://developer.android.com/guide/topics/admin/device-admin.html
相关文章推荐
- 健康不是第一,而是唯一!看完让你观念彻底改变!
- 设置myeclipse的默认jdk版本(导入jre system library)
- hd3635 Dragon Balls(之前题意翻译有误,已改正)
- HDU - 3572 Task Schedule (最大流)
- PHP微信支付开发实例
- wkhtmltopdf:一个 Linux 中将网页转成 PDF 的智能工具
- 自定义Android的EditText实现仿淘宝登录功能
- uva 10969
- 如何使用 pdfgrep 从终端搜索 PDF 文件
- 在Linux下如何修改Mysql的用户(root)的密码
- 详解ASP.NET七大身份验证方式以及解决方案
- 浅谈python多线程和队列管理shell程序
- python利用装饰器进行运算的实例分析
- Python实现字典的key和values的交换
- 使用python加密自己的密码
- python利用datetime模块计算时间差
- 合并百度影音的离线数据( with python 2.3)
- Python利用ansible分发处理任务
- 解决Python传递中文参数的问题
- python删除列表内容