DevicePolicyManager类的使用

来源:互联网 发布:数据对接和系统过渡 编辑:程序博客网 时间:2024/06/06 10:01
    DevicePolicyManager是android2.2(API8)之后开始提供的一个API,通过使用该API,可用实现对系统级设备的管理。通过使用DevicePolicyManager    可以实现锁屏,恢复出厂,清除数据等功能。

step 1:

获取一个系统服务
dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);

step 2:

继承DeviceAdminReceiver类
只要继承该类就可以,不需要重写父类的方法
public class MyAdmin extends DeviceAdminReceiver {

}

step3:

打开管理功能
ComponentName name = new ComponentName(this, MyAdmin.class);
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, name);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, “权限已开启”);
startActivity(intent);

具体代码如下:

package com.zlb.lockscreen;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;public class MainActivity extends Activity {    DevicePolicyManager dpm;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);    }    public void onclick(View view) {        dpm.lockNow();        dpm.resetPassword("123", 0);        // 清除SD卡数据        // dpm.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);        // 恢复出厂设置        // dpm.wipeData(0);        finish();    }    public void open(View view) {        ComponentName name = new ComponentName(this, MyAdmin.class);        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, name);        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "权限已开启");        startActivity(intent);    }    public void uninstall(View view){        ComponentName name = new ComponentName(this, MyAdmin.class);        dpm.removeActiveAdmin(name);        Intent intent=new Intent();    intent.addCategory("android.intent.category.DEFAULT");        intent.setAction(Intent.ACTION_DELETE);        intent.setData(Uri.parse("package:"+getPackageName()));        startActivity(intent);    }}
0 0
原创粉丝点击