安卓ApiDemos学习 app/Device Admin/DeviceAdminSample

首先是启动和关闭ActiveAdmin

启动ActiveAdmin

Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
          "Additional text explaining why this needs to be added.");
startActivityForResult(intent, RESULT_ENABLE);

向Intent中设置DevicePolicyManager.EXTRA_DEVICE_ADMIN,本例设置了一个ComponentName

mDeviceAdminSample = new ComponentName(Controller.this, DeviceAdminSample.class);
设置EXTRA_ADD_EXPLANATION的文字会表示在权限确认画面上,如下图



删除ActiveAdmin

mDPM.removeActiveAdmin(mDeviceAdminSample);

设置密码相关配置。首先要确定当前activity是否已经启动了AdminActive模式

如果是的话,利用DevicePolicyManager的方法,设置密码配置

boolean active = mDPM.isAdminActive(mDeviceAdminSample);
            if (active) {
                mDPM.setPasswordQuality(mDeviceAdminSample, pwQuality);
                mDPM.setPasswordMinimumLength(mDeviceAdminSample, pwLength);
                mDPM.setMaximumFailedPasswordsForWipe(mDeviceAdminSample, maxFailedPw);
            }
更改屏幕锁定password需要启动系统画面

Intent intent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
startActivity(intent);
Restpassword方法中,首先判定用户是否是管理员。

if (mAM.isUserAMonkey()) {
 // Don't trust monkeys to do the right thing!
 AlertDialog.Builder builder = new AlertDialog.Builder(Controller.this);
 builder.setMessage("You can't reset my password because you are a monkey!");
 builder.setPositiveButton("I admit defeat", null);
 builder.show();
 return;
 }
如果是,则重置密码

mDPM.resetPassword(mPassword.getText().toString(),
          DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值