首先是启动和关闭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);
mDeviceAdminSample = new ComponentName(Controller.this, DeviceAdminSample.class);设置EXTRA_ADD_EXPLANATION的文字会表示在权限确认画面上,如下图
删除ActiveAdmin
mDPM.removeActiveAdmin(mDeviceAdminSample);
如果是的话,利用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);