OnNewIntent() 在推送通知中被多次调用

Posted

技术标签:

【中文标题】OnNewIntent() 在推送通知中被多次调用【英文标题】:OnNewIntent() is called multiple times on a push notificatin 【发布时间】:2021-09-20 03:25:11 【问题描述】:

我的 Xamarin.Forms 应用程序存在 android 问题。为了触发某个动作,我通过 Firebase 使用推送通知。推送通知在 MainActivity 的 OnNewIntent() 中处理。出于某种原因,在推送通知到达时,多次调用 OnNewIntent(),这会导致问题。我怎样才能防止这种情况发生?

【问题讨论】:

【参考方案1】:

您可以为事件附加一个标志,并检查它以防止重复激活。您可能还希望在本地存储通知内容和属性以比较新事件。

标志可以是时间戳、uniqueID 或与内容本身相关。

【讨论】:

感谢您的回答。您能否给我一个关于活动所附旗帜的例子或解释?我们应该考虑到可能会有不同的通知。 这个标签需要根据自己的需求来定义,比如收到“1”怎么办,收到“2”怎么办。 @Leo Zhu - MSFT 这是一个很好的观点。但是可能有一种情况,例如“1”来自不同的设备,所以它们不是重复的。我只需要阻止重复的消息。 然后您将创建一个哈希图,可能是负载的 md5 并将其用作唯一 ID

以上是关于OnNewIntent() 在推送通知中被多次调用的主要内容,如果未能解决你的问题,请参考以下文章

推送通知是否在设置中被禁用后传递到Android手机?

网络推送通知 - 在 chrome 上多次获取相同的通知

有没有办法在不发送推送通知的情况下调用 saveCurrentTurnWithMatchData?

在后台模式下接收远程推送通知是不是可以多次振动?

推送通知在android中获得多次

通知观察者多次调用,即使观察者被移除