我正在创建一个家长控制应用程序,在这里我想在使用之前将简单密码身份验证禁用为管理员模式。我正在使用DeviceAdminReceiver。一个有帮助的想法或示例代码。谢谢
答案 0 :(得分:1)
不幸的是,没有直接的方法可以实现它。但是,有一种解决方法可以通过重写DeviceAdminReceiver的onDisableRequested()方法来实现
public class AdminReceiver extends DeviceAdminReceiver {
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
DevicePolicyManager mDPM =(DevicePolicyManager)getApplicationContext().getSystemService("device_policy");
mDPM.lockNow();
// You can also display overlay screen
return "Are you sure you want to disable the Device admin?";//OR whatever message you would like to display
}
}
根据文档
当用户由于收到ACTION_DEVICE_ADMIN_DISABLE_REQUESTED而要求禁用管理员时调用,从而有机会向他们显示警告消息。消息作为结果返回;如果返回null(默认实现),则不会显示任何消息。
注意:
如果要显示覆盖屏幕,请注意禁用弹出窗口和禁用屏幕将具有较高的可见性优先级。任何尝试这样做都无济于事。一种解决方法是先锁定屏幕,然后再显示覆盖屏幕。