Android NotificationListenerService:检测应用程序是否允许侦听通知
我看到一些应用程序有一个小对话框,要求允许应用程序监听通知。该对话框有两个按钮:取消和转到(打开安全设置以允许应用程序侦听通知)。这个对话框是持久的,所以我想它有一种方法来检测应用程序是否被允许。有人能告诉我那个API吗?谢谢Android上的所有应用程序都可以发送通知,甚至没有权限。您在UI中看到的任何对话框都是由每个开发人员实现的(需要特别考虑) 底线是,如果一个应用程序可以发送通知(所有应用程序都可以),那么就没有用于访问的APIAndroid NotificationListenerService:检测应用程序是否允许侦听通知,android,android-notifications,Android,Android Notifications,我看到一些应用程序有一个小对话框,要求允许应用程序监听通知。该对话框有两个按钮:取消和转到(打开安全设置以允许应用程序侦听通知)。这个对话框是持久的,所以我想它有一种方法来检测应用程序是否被允许。有人能告诉我那个API吗?谢谢Android上的所有应用程序都可以发送通知,甚至没有权限。您在UI中看到的任何对话框都是由每个开发人员实现的(需要特别考虑) 底线是,如果一个应用程序可以发送通知(所有应用程序都可以),那么就没有用于访问的API 除此之外,还有许多其他方面的应用程序权限,这也值得学习。嗨
除此之外,还有许多其他方面的应用程序权限,这也值得学习。嗨,我认为没有一种方法可以调用以了解您是否有权限侦听通知,但您可以尝试以下方法:
startActivity(新的意图(“android.settings.ACTION\u NOTIFICATION\u LISTENER\u settings”)代码>
我知道这是一个老问题,但我现在在应用程序中使用的是:
String notificationListenerString = Settings.Secure.getString(this.getContentResolver(),"enabled_notification_listeners");
//Check notifications access permission
if (notificationListenerString == null || !notificationListenerString.contains(getPackageName()))
{
//The notification access has not acquired yet!
}else{
//Your application has access to the notifications
}
通过打开“活动”,可以将用户移动到“通知访问权限”设置:
startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
从Jelly Bean 4.3到Marshmallow 6.0,这项功能都经过了很好的测试,我在应用程序中使用了它。我想你根本不理解我的问题。我不是说发布通知。我说的是阅读通知:dmissunderstood answer你的if语句返回true,但它实际上不在安卓6上