本文介紹了如何將通知訪問屏幕過濾到我的應用程序?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
目前,我通過以下方式請求使用通知訪問(通知偵聽器服務)的權限:
startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));
這確實有效,但用戶必須從應用列表中選擇我的應用。
為了提高可用性,我希望它看起來更像這樣
有人知道如何正確篩選它嗎?
對于使用權限設置,我使用以下代碼:
Intent myIntent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS, Uri.parse("package:" + getPackageName()));
startActivity(myIntent);
遺憾的是,這不適用于通知訪問設置。
錯誤:
No Activity found to handle Intent { act=android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS dat=package:notificationmanager }
推薦答案
找到解決方案:
ComponentName componentName = new ComponentName(getPackageName(), YOUR_LISTENER_CLASS.class.getName());
Intent notificationAccessSettings =
new Intent(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS));
notificationAccessSettings.putExtra(Settings.EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME, componentName.flattenToString());
startActivity(notificationAccessSettings);
這只是在API版本30中引入的,我不知道有什么方法(或者它是否可能)適用于更早的版本。
這篇關于如何將通知訪問屏幕過濾到我的應用程序?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,