在 Android 中获取有关应用程序启动的所有远程通知

Get all the remote notifications on application launch in Android

我需要在应用程序启动时从 android 通知中心收集所有远程 notifications(当应用程序不是 运行 时收到)。

我试过使用NotificationManager.getActiveNotifications方法,但这给出了StatusBarNotification的数组。 StatusBarNotification 上有一个方法 getNotification() 可用,但它也没有远程通知内容。

我试过这样的东西,

 NotificationManager notificationManager = (NotificationManager) cordova.getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
StatusBarNotification[] notifications = notificationManager.getActiveNotifications();
for (int i = 0; i < notifications.length ; i++) {
    Notification notification = notifications[i].getNotification();
    Log.d("Tag","Notification String = " + notification.toString());
}

输出: Notification String = Notification(channel=fcm_fallback_notification_channel pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0x00000000 vis=PRIVATE semFlags=0x0 semPriority=0 semMissedCount=0)

请帮助我提出您的建议。

非常感谢!

如果您想获取通知数据,请使用

Bundle bundle = notification.extras

这里的包会将所有接收到的数据作为有效负载。 因此,如果您想获得标题,请使用 bundle.getString("android.title");