Jan*_*usz 14 android android-notifications
我想实现一个NotificationListenerService来访问发布到通知栏的所有通知.
我知道我需要通过此调用启用对设置中的通知的访问:
startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
Run Code Online (Sandbox Code Playgroud)
有没有办法检查用户是否激活了我的应用程序的通知访问权限?
Ric*_*rdo 14
我设法找到一个轻微的黑客来解决这个问题.如果您检查源Settings.Secure,您将看到ENABLED_NOTIFICATION_LISTENERS带有注释的@hide.我不知道这是否是故意的.在一个相关的主题,CommonsWare确实在另一个答案中提到,有一个错误阻止启动此设置,所以我猜是无意的.
无论如何,要解决这个问题,我所做的就是使用字符串值获取当前启用的通知侦听器列表ENABLED_NOTIFICATION_LISTENERS:
String enabledListeners = Settings.Secure.getString(context.getContentResolver(),
"enabled_notification_listeners");
Run Code Online (Sandbox Code Playgroud)
然后,您只需检查您的服务是否在列表中.
我没有在所有API> = 18上测试这个,但它正在Android 4.4.2上运行.
| 归档时间: |
|
| 查看次数: |
6755 次 |
| 最近记录: |