我正在为Android安装一个MDM(移动设备管理)应用程序,但我遇到了一个很大的问题,那就是用户可以在设置>安全>设备管理员中禁用我的应用程序.我唯一能做的就是通过覆盖onDisableRequested(...)
我的DeviceAdminReceiver
子类中的方法来显示警告消息,但我真的想阻止用户完全禁用我的管理员应用程序.
我试图覆盖该onReceive(...)
方法,以便在系统广播ACTION_DEVICE_ADMIN_DISABLE_REQUESTED和ACTION_DEVICE_ADMIN_DISABLED操作时没有任何反应,但到目前为止它还没有奏效.显然其他一些组件在它们到达我的onReceive(...)
方法之前处理这些操作,我不知道为什么.我希望能够显示我自己的自定义对话框,指示用户无法从此部分禁用管理员应用程序,甚至可能要求用户设置管理员密码来执行此操作.
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_PASSWORD_CHANGED.equals(action)) {
onPasswordChanged(context, intent);
} else if (ACTION_PASSWORD_FAILED.equals(action)) {
onPasswordFailed(context, intent);
} else if (ACTION_PASSWORD_SUCCEEDED.equals(action)) {
onPasswordSucceeded(context, intent);
} else if (ACTION_DEVICE_ADMIN_ENABLED.equals(action)) {
onEnabled(context, intent);
} else if (ACTION_DEVICE_ADMIN_DISABLE_REQUESTED.equals(action)) {
} else if (ACTION_DEVICE_ADMIN_DISABLED.equals(action)) {
} else if (ACTION_PASSWORD_EXPIRING.equals(action)) {
onPasswordExpiring(context, intent);
}
}
Run Code Online (Sandbox Code Playgroud)
我需要帮助来解决这个问题.
谢谢,