学习安卓设备管理器锁屏、清除数据总结—DevicePolicyManager


一:设备管理器介绍:

Android 2.2 SDK提供了一个可管理和操作设备的API叫DevicePolicyManager,

使用这个API你可以接管手机的应用权限,

对手机做出很多大胆的操作,

比如锁屏、恢复出厂设置、设置密码、强制清除密码,修改密码、设置屏幕灯光渐暗时间间隔等操作。

二:设备管理器创建

1.要调用DevicePolicyManager 必须有个设备管理器admin,

那么第一步创建一个MyAdmin,必须继承DeviceAdminReceiver,

不用重写什么方法,


public class MyAdmin  extends DeviceAdminReceiver {
	//showToast方法方便查看方法调用情况并提示
	
	private void showToast(Context context, String msg) {
	       
	        Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
	    }
	   
	    @Override
	/**
	R.string.devices_onEnabled=""

	*/
	    public void onEnabled(Context context, Intent intent) {
	        showToast(context, "开启设备管理器");
	    }

	    @Override
	    public CharSequence onDisableRequested(Context context, Intent intent) {
	        return "警告禁止用户的请求";
	    }

	    @Override
	    public void onDisabled(Context context, Intent intent) {
	        showToast(context, "设备管理器关闭"));
	    }

	    @Override
	    public void onPasswordChanged(Context context, Intent intent) {
	        showToast(context, "密码改变"));
	    }
	
	}

2.这是个广播类,必须注册,


    
        
        
    


    
    
        
    

解释:

Android:name

你的Admin全名

 Android:description
可以自定义的区域,”比如我是牛逼的设备管理器”
android:permission="android.permission.BIND_DEVICE_ADMIN"

权限,不必多说

 

设备管理器有哪些功能

res下建立一个XML文件夹,
下面建立一个.xml文件,配置设备管理器的功能
device_admin_sample.xml



  
    
    
    
    
    
    
    
    
  

这是所有权限,需要哪个留哪个即可


比如我要清除数据
 
device_admin_sample.xml,配置文件.xml文件名称,随意定


3:现在你就能在手机中看到你定义的设备管理器了

设置–安全–设备管理器
4:设备管理器开启
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
                        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
                        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                                mActivity.getString(R.string.add_admin_extra_app_text));
                        startActivity(intent, REQUEST_CODE_ENABLE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                                mActivity.getString(R.string.add_admin_extra_app_text));

第二个
putExtra,value 可以自定义,放你放的文字吧!

注意:设备管理器开启之后才能执行相应功能

5.

管理-设备管理器:

DevicePolicyManager

DevicePolicyManager mDPM =
    (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
Context.DEVICE_POLICY_SERVICE

是个常量


6
:判断设备管理器是否开启方法:
ComponentName who=new ComponentName(context, MyAdmin.class);
//判断设备管理器状态
boolean isEnable=mDPM.isAdminActive(who);

7:清除数据

mDPM.wipeData(0);

8:锁屏

mDPM.lockNow();