Xamarin.forms Xamarin forms android:在前台模式下,旧通知被新通知取代
我已经使用FCM在xamarin forms android项目上实现了推送通知但当收到新通知时,旧通知将被新通知替换。只有当应用程序处于前台模式时(当应用程序处于打开状态时),才会发生这种情况。在后台状态或终止状态下不会出现此类问题。在后台状态和终止状态下显示多个通知 下面是我的通知负载,其中Xamarin.forms Xamarin forms android:在前台模式下,旧通知被新通知取代,xamarin.forms,push-notification,xamarin.android,Xamarin.forms,Push Notification,Xamarin.android,我已经使用FCM在xamarin forms android项目上实现了推送通知但当收到新通知时,旧通知将被新通知替换。只有当应用程序处于前台模式时(当应用程序处于打开状态时),才会发生这种情况。在后台状态或终止状态下不会出现此类问题。在后台状态和终止状态下显示多个通知 下面是我的通知负载,其中webContentList是我的消息数据 { "to" : "dmtfiSvBBM0:APA91bFnHkamMSYgxPuiSfdvKnU8hD_mOqrWijnENNgXVSkSgo1ILH3-u
webContentList
是我的消息数据
{
"to" : "dmtfiSvBBM0:APA91bFnHkamMSYgxPuiSfdvKnU8hD_mOqrWijnENNgXVSkSgo1ILH3-uKVCU7Ez2PXXOhtDoobIyKBf5UshVfTmvjSqHgXMRTsqguKCSTjIfGnXrVP-_cNFq2sisshZO-BcfkwKTl-I",
"collapse_key" : "type_a",
"notification" : {
"body" : "This is body",
"title": "Tech Team",
"priority":"high",
"content_available":true
},
"data" : {
"webContentList": [
{
"webContentDefinitionId": 818084,
"pageTitle": "CCD Grade 3-4",
"pageKwd": "CCD Grade 3-4",
"pageDesc": "CCD Grade 3-4",
"siteId": 45,
"pageCreatedTime": 1555145959428,
"pageUpdatedDate": 1555927274279,
"modifier": {
"userId": 12944,
"applicationId": 32,
"username": "robert.downey",
"email": "robert@master-mail.net",
"firstName": "Robert",
"lastName": "Downey"
},
"creator": {
"userId": 12944,
"applicationId": 32,
"username": "robert.downey",
"email": "robert@master-mail.net",
"firstName": "Robert",
"lastName": "Downey"
}
}
]
},
"ttl": 3600
}
我从有效负载中删除了collapse\u键
,但通知正在前台模式中替换
请对此问题提出解决方案?您是否自行处理前台通知的创建? 如果是这样,一个典型的错误就是在创建本地通知时一次又一次地传递相同的id,例如
mNotificationManager.Notify(1, mBuilder.Build());
您需要为每个通知传递不同的ID
mNotificationManager.Notify(new Random().Next(),mBuilder.Build());