FCM通知打开第二个通知时第二次获得相同的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FCM通知打开第二个通知时第二次获得相同的数据相关的知识,希望对你有一定的参考价值。

我正在使用某些服务器代码发送通知。我知道有不同的方法和技术来处理背景和前景通知。在两种情况下均能完美交付。但是一些额外的普通情况存在一些问题:

!!)将通知和数据发送到设备。

2)从设备接收它,并按照“ click_action”提及将其打开,将其打开。

这里是click_actionandroid清单中的代码:

<activity
        android:name=".activity.VideoNotificationActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:excludeFromRecents="true"
        android:hardwareAccelerated="true"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:taskAffinity=""
        android:theme="@style/AppTheme.DarkStatusBar">
        <intent-filter>
            <action android:name="VideoDetailsActivity" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>

因此,此活动根据click_action : VideoDetailsActivity成功打开了>

这里是此类背景条件的获取数据代码:

val bundle = intent.extras
if (bundle != null) {
    isNotification = true
    mVideoData = Gson().fromJson(bundle.getString(Globals.videoObject), ModelVideoList::class.java) as ModelVideoList
}

此视频数据获取并成功播放视频之后。但是在某些情况下:

3)最小化应用程序(我不会从此屏幕上走到任何地方。只需触摸最小化应用程序按钮!)。]

4)从服务器发送具有不同数据的第二条通知!并成功接收。

5)单击该通知并打开相同的屏幕,但是数据是先前视频的(意味着我单击的第二条通知数据没有获得,因此我正在获得先前通知的旧数据!]]] >>

所以,我的情况是,如果用户最小化打开的通知屏幕的应用程序,并收到使用相同的旧数据打开的具有不同数据的第二次通知,该怎么办?!

这里是我要发送的数据:

{
"title": "New video added!",
"body": "Tap here to see a video!",
"click_action": "VideoDetailsActivity",
"icon": "ic_notification",
"color": "#CD201F",
"tag": "video_of_the_day",
"sound": "sound.mp3",
"notification_type": "video_of_the_day",
"data": {
    "id": 20,
    "title": "abcd",
    "video": "abcd.mp4",
    "video_webm": "abcd.webm",
    "height": 960,
    "width": 540,
    "thumbnail": "abcd.jpg",
    "created": 4124,
    "created_at": "2019-07-05 11:09:10",
    "updated_at": "2019-12-13 07:17:18",
    "video_url": "video_link",
    "is_new": false
    },
"android_channel_id": "Video"
}

我正在使用某些服务器代码发送通知。我知道有不同的方法和技术来处理背景和前景通知。在两种情况下均能完美交付。但是有一些...

在生成通知时传递不同的通知ID

答案

在生成通知时传递不同的通知ID

以上是关于FCM通知打开第二个通知时第二次获得相同的数据的主要内容,如果未能解决你的问题,请参考以下文章

第二次通知不起作用

如果第一个通知在 swift 中被忽略,则安排第二个通知(或者如果通知被忽略,则完成任何操作)

具有相同意图的推送通知打开 Activity

在达到最大长度时第二次避免使用相同的警告消息

“允许本地通知”警报不会在 iOS 8 iphone App 中第二次出现

通知的 PendingIntent 不要第二次调用我的活动