[英]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.