Android-利用设备管理器来实现锁屏功能并可一键自我卸载
2016-08-25 12:37
495 查看
设备管理器操作步骤
1,创建类DeviceAdminReceiver的子类
如:com.lmk.lockscreen.DeviceAdminSample(继承DeviceAdminReceiver类就ok!)
2,在清单文件中配置广播接收者
<receiver android:name="com.lmk.lockscreen.DeviceAdminSample" 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>
3,配置字符串相关信息
<string name="activity_sample_device_admin">设备管理员</string> <string name="sample_device_admin_description">开启设备管理员,不开扣2000元</string> <string name="sample_device_admin">管理员</string>
4,在res目录下创建xml文件夹,在该文件夹下创建device_admin_sample.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>
现在我们利用设备管理器来进行对手机的锁屏功能
1、先完成以上4个步骤;2、以下为实现锁屏的核心代码:
<span style="font-size:14px;">public void lockScreen(View v) { // 没激活设备管理员就提醒 ComponentName who = new ComponentName(this, DeviceAdminSample.class); DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); if(dpm.isAdminActive(who)){ dpm.lockNow(); finish(); }else{ //帮助打开激活设备管理器的界面 // Launch the activity to have the user enable our admin. Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "设备管理器。。。"); startActivityForResult(intent, 1); } }</span>
3、以下为实现自我卸载的核心代码:
<span style="font-size:14px;">public void RemoveApp(View v) { DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); ComponentName who=new ComponentName(this, DeviceAdminSample.class); dpm.removeActiveAdmin(who); // 调用卸载的页面,找卸载的意图 Intent intent = new Intent(); intent.setAction("android.intent.action.DELETE"); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("package:"+getPackageName())); startActivityForResult(intent, 0); }</span>
相关文章推荐
- android的一键锁屏与一键卸载的代码实现
- Android 利用工具实现一键自动findViewById功能
- Android Device Administration 设备管理器——实现一键锁屏
- 简单几步实现Android 一键锁屏,一键卸载程序,一键激活设备管理权限
- android实现一键锁屏和一键卸载的方法实例
- 【Android开发小记--10】一键锁屏功能实现
- android 实现一键锁屏功能
- Android一键锁屏功能的实现
- Android----android利用数据库实现搜索联想功能
- android定时定位 - 利用百度定位API来实现定时定位功能
- Android开发(14)-- 多线程中实现利用自定义控件绘制小球并完成小球自动下落的功能
- Android利用CountDownTimer类实现倒计时功能
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- android 实现微博一键分享功能
- (转)【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- android DevicePolicyManager实现一键锁屏
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- Android实现利用手势完成屏幕密码锁功能
- 举例说明如何在android中利用Service来实现后台发送邮件功能
- android定时定位 - 利用百度定位API来实现定时定位功能