原文:http://www.aspku.com/kaifa/android/138459.html

设备管理员 Device Admin

获取DevicePolicyManager对象,通过getSystemService(DEVICE_POLICY_MANAGER),设备策略管理器

调用DevicePolicyManager对象的lockNow()方法,锁定,此时会报 安全异常

新建一个类MyAdmin继承系统的DeviceAdminReceiver,这个是广播接收者

清单文件进行注册

添加节点,设置名称

设置权限 android:permission=”android.permission.BIND_DEVICE_ADMIN”

添加元数据节点,设置名称 android:name=”android.app.device_admin”

设置资源 android:resource=”@xml/device_admin_sample”

在res目录下新建xml的文件夹,新建一个device_admin_sample.xml文件

添加节点,添加动作,android.app.action.DEVICE_ADMIN_ENABLED

此时还会报错

打开系统设置,找到设备管理器,勾选设备管理员权限,激活设备

开启管理员权限

获取Intent对象,new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN)

调用Intent对象putExtra(),传递数据,要激活的组件,

参数:DevicePolicyManager.EXTRA_DEVICE_ADMIN,ComponentName组件名对象

获取ComponentName对象,new出来,参数:上下文,Myadmin.class

调用Intent对象putExtra(),传递解说数据,劝说用户开启,参数:

DevicePolicyManager.EXTRA_ADD_EXPLANATION,文本

调用startActivity()

调用DevicePolicyManager对象的isAdminActive()方法,可以判断是否有管理员权限,参数:ComponentName对象

调用DevicePolicyManager对象的resetPassword()方法,重置密码,参数:password,0,把password设置为””可以取消密码

调用DevicePolicyManager对象的wipeData()方法,清除数据,参数:清除sd卡DevicePlocyManager.WIPE_EXTERANL_STORGE

如果是0,就是恢复出厂设置

卸载软件

这个装上就卸载不掉了

调用DevicePolicyManager对象的removeActiveAdmin()方法,清除管理员权限,参数:ComponentName组件名对象,获取ComponentName对象,new出来,参数:上下文,Myadmin.class

获取Intent对象

调用Intent对象的setAction()方法,设置动作,参数:android.intent.action.VIEW

调用Intent对象的addCategory()添加类型,参数:android.intent.category.DEFAULT

调用Intent对象的setData(),设置数据,

参数:Uri对象,获取Uri对象Uri.parse(“package:”+getPackageName())

调用startActivity()

device_admin_sample.xml

package com.tsh.mylockscreen;

import android.app.Activity;import android.app.admin.DevicePolicyManager;import android.content.ComponentName;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {private DevicePolicyManager dpm;ComponentName who;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);who=new ComponentName(this, MyAdmin.class);}// 一键锁屏public void lockScreen(View v) {if (dpm.isAdminActive(who)) {dpm.lockNow();dpm.resetPassword("123", 0);} else {Intent intent =new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who);intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"快开启吧");startActivity(intent);Toast.makeText(this, "没有设备管理权限", 1).show();}}//一键卸载public void uninstall(View v) {dpm.removeActiveAdmin(who);Intent intent=new Intent();intent.setAction(Intent.ACTION_DELETE);intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:"+getPackageName()));startActivity(intent);}}

 

以上所述是小编给大家介绍的Android 手机卫士设备管理权限锁屏的相关知识,希望对大家有所帮助!


更多相关文章

  1. Android中对TextView中的部分内容的字体样式的设置方法
  2. Android下的JNI创建多线程的方法
  3. [置顶] Android(安卓)IPC 通讯机制源码分析【中】
  4. Android实现关机重启的方法
  5. 第一章 Adnroid体系与系统架构
  6. android使用service和activity获取屏幕尺寸的方法
  7. android RSA公钥加密 公钥解密,解决乱码问题
  8. Android(安卓)中与 Touch 事件详解
  9. android的SharedPreferences详解

随机推荐

  1. java android 杂文 人生
  2. Android保存图片到数据库
  3. 【Android(安卓)开发教程】辅助方法
  4. Android(安卓)ApiDemos示例解析(26):App->
  5. 利用签名机制进行程序自检——Android防
  6. android 4.3以上修改DNS 及 流程(netd)
  7. Android(安卓)Studio&源码混淆配置及其调
  8. Android(安卓)Studio 关于Room的警告: Pr
  9. Android(安卓)studio 插件安装
  10. Android(安卓)9.0 蓝牙配对流程