设备管理员onDisabled()未在android中调用

时间:2014-02-10 06:26:41

标签: android android-intent android-activity device-admin

我正在开发一个应用程序,我正在制作我的应用程序设备管理员。我想显示自定义消息或对话框,当用户要禁用应用程序设备管理员的复选框时。如何在顶部获取或显示活动(自定义对话框)活动堆栈,其中Android OS显示的Deactivate对话框对话框?我点击Deactivate后得到禁用请求和禁用的所有操作但我想在Android OS显示的Deactivate对话框之前显示自定义对话框。我怎样才能实现这种逻辑。让我知道它的解决方案。

1 个答案:

答案 0 :(得分:1)

OnDisable仅在禁用发生后才会调用如果您想在用户按下时显示某些内容,请使用Onrecieve代替:

@Override
public void onReceive(Context context, Intent intent) {
 // detect whether disabling is requested?
 if (intent.getAction().equals(ACTION_DEVICE_ADMIN_DISABLE_REQUESTED)) {

     Toast.makeText(context, "Device Admin disabling now",
                Toast.LENGTH_LONG).show();
 } else {
    super.onReceive(context, intent);
 }      
}
@Override
public void onEnabled(Context context, Intent intent){
    super.onEnabled(context, intent);
    Log.d(TAG, "onEnabled");
}

@Override
public void onDisabled(Context context, Intent intent){
    super.onDisabled(context, intent);
    Log.d(TAG, "onDisabled");
}