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

android中未调用设备管理员onDisabled(),android,android-intent,android-activity,device-admin,Android,Android Intent,Android Activity,Device Admin,我正在开发一个应用程序,我正在使我的应用程序设备管理。当用户要禁用应用程序设备管理复选框时,我想显示自定义消息或对话框。我如何获取或显示活动(自定义对话框)在活动堆栈的顶部,android操作系统显示的停用对话框的对话框在哪里?单击停用后,我将获得禁用请求和禁用的所有操作,但我想在android操作系统显示的停用对话框出现之前显示自定义对话框。如何实现这种逻辑。请告诉我解决方案。OnDisable仅在禁用发生后才会调用,如果您想在用户按下disable时显示某些内容,请在接收时使用disable

我正在开发一个应用程序,我正在使我的应用程序设备管理。当用户要禁用应用程序设备管理复选框时,我想显示自定义消息或对话框。我如何获取或显示活动(自定义对话框)在活动堆栈的顶部,android操作系统显示的停用对话框的对话框在哪里?单击停用后,我将获得禁用请求和禁用的所有操作,但我想在android操作系统显示的停用对话框出现之前显示自定义对话框。如何实现这种逻辑。请告诉我解决方案。

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

@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");
}

嘿,我想启动服务时,设备管理员是通过点击激活按钮启用。请你解释一下…@sunil你可以覆盖onEnabled方法,当用户接受设备管理员这个方法将调用时,你可以启动你的服务。我知道这个方法,正如你所说的,但是方法startService(Intent)是未定义的saying@sunil您可以使用context.startService(newintent(context,yourclass.java))启动服务;还有一个问题:我能听到激活按钮旁边的取消按钮吗??