Android: 在授予请勿打扰权限时检测实例

Android: Detect the instance when DO NOT DISTURB permission has been granted

我有一个用例,我需要在用户向我的应用程序授予请勿打扰权限时检测该实例。我在前台有一个服务运行,所以我可以使用这个服务来检测何时授予权限。

我将用户重定向到“请勿打扰”设置,如下所示,这按预期工作:

NotificationManager notificationManager =
            (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
            && !notificationManager.isNotificationPolicyAccessGranted()) {
        builder.setMessage(context.getString(R.string.don_not_disturb_msg))
                .setCancelable(false)
                .setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        NotificationManager notificationManager =
                                (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
                                && !notificationManager.isNotificationPolicyAccessGranted()) {
                            Intent intent = new Intent(
                                    android.provider.Settings
                                            .ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
                            context.startActivity(intent);
                        }
                        dialog.dismiss();
                    }
                }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        }).create().show();

是否有 CallBack 方法或 Reciver 可用于在授予“请勿打扰”时检测实例到我的应用程序?

在浏览了官方文档和大量其他参考资料后,我恍然大悟,当应用程序的权限状态发生变化时,并没有回调来检测实例。

PS: 可以查找是否已授予特定权限,但不能查找授予该权限的实例。