在 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")
;
我需要在应用程序启动时从 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")
;