簡體   English   中英

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:可以查找是否已授予特定權限,但不能查找授予該權限的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM