如何在android中阅读所有即将发布的通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android中阅读所有即将发布的通知相关的知识,希望对你有一定的参考价值。

如何在android中阅读所有即将发布的通知。是否可以使用广播接收器来收听传入的通知和读取通知信息的能力。

答案

首先,您必须声明在清单中接收通知的意图,以便获得android.permission.BIND_NOTIFICATION_LISTENER_SERVICE权限。

AndroidManifest.xml中:

<service android:name=".NotificationListener"
         android:label="@string/service_name"
         android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
    <intent-filter>
        <action android:name="android.service.notification.NotificationListenerService" />
    </intent-filter>
</service>

然后创建一个NotificationListenerService类并覆盖onNotificationPosted函数。

有关更多信息,请阅读此处的开发人员参考:https://developer.android.com/reference/android/service/notification/NotificationListenerService.html

另请参阅这个简单的示例应用程序以获取实现指南:https://github.com/kpbird/NotificationListenerService-Example/

另一答案

使用NotificationListenerService,我们可以轻松读取所有应用程序的通知。查看完整的演示代码here

另一答案

您需要在onNotificationPosted中执行此操作才能获取所有消息

if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)){
        Parcelable b[] = (Parcelable[]) extras.get(Notification.EXTRA_MESSAGES);

        if(b != null){

            for (Parcelable tmp : b){

                Bundle msgBundle = (Bundle) tmp;
                content = content + msgBundle.getString("text") + "
";

            /*Set<String> io = msgBundle.keySet(); // To get the keys available for this bundle*/

            }
        }
    }

以上是关于如何在android中阅读所有即将发布的通知的主要内容,如果未能解决你的问题,请参考以下文章

有啥办法可以访问所有的android通知吗?

如何保存android通知并在重启时恢复它们

如何在xamarin android中启用浮动通知和锁屏通知(Java或Kotlin都可以)

阅读Microsoft Word文档时出现Android Apache POI错误:org.apache.xmlbeans.SchemaTypeLoaderException无法解析句柄的类型(代码片

php按钮推送通知android

如何在android中使用系统电池状态更新通知