Flutter 双重通知
Posted
技术标签:
【中文标题】Flutter 双重通知【英文标题】:Flutter double notifications 【发布时间】:2021-07-27 22:36:50 【问题描述】:我有用 Flutter 制作的端到端加密的聊天应用。当推送通知到达时,应用程序对其进行处理,解密内容并显示通知。但问题是,该应用程序未创建另一个未加密内容的通知。它看起来像这样:
这真的很烦人,我不知道如何解决这个问题。 Flutter 日志:
Handling a background message: 0:1620226730325270%0454fd8a0454fd8a
W/FirebaseMessaging(23000): Notification Channel set in androidManifest.xml has not been created by the app. Default value will be used.
I/flutter (23000): true
D/FlutterSecureStoragePl(23000): Read: key exists => Running ensureInitStorageCipher
D/FlutterSecureStoragePl(23000): Initializing StorageCipher
D/FlutterSecureStoragePl(23000): StorageCipher initialization complete
D/NotificationSender(23000): Notification created
I/flutter (23000): Notification created
I/flutter (23000): Notification displayed
日志说 AndroidManifest.xml 中设置的通知通道尚未由应用创建。将使用默认值。 但是频道是由应用创建的。 谢谢你的帮助。
顺便说一句,我正在使用 AwesomeNitifications 插件进行通知。
编辑: 应用程序尚未创建 AndroidManifest.xml 中设置的通知通道。将使用默认值。错误不再显示,因为我在 FCM 消息中设置了通知通道 ID 这个 ID,但通知仍然显示两次。
【问题讨论】:
【参考方案1】:实际上,Firebase 推送通知可以在后台发送,也可以在它们到达时立即公开。
在这种情况下,您必须将推送通知的发送更改为仅在后台发送,这样您的过滤器就不会暴露已加密的消息。
更多信息:
https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
【讨论】:
以上是关于Flutter 双重通知的主要内容,如果未能解决你的问题,请参考以下文章
Flutter发送系统通知(flutter_local_notifications)
Flutter发送系统通知(flutter_local_notifications)
Flutter发送系统通知(flutter_local_notifications)