Flutter:当应用程序处于后台但未在 iOS 中终止时,无法在通知单击时重定向到特定屏幕
Posted
技术标签:
【中文标题】Flutter:当应用程序处于后台但未在 iOS 中终止时,无法在通知单击时重定向到特定屏幕【英文标题】:Flutter : Unable to redirect to specific screen on Notification click when app is in background but not terminated in iOS 【发布时间】:2020-06-02 14:50:57 【问题描述】:我使用firebase_messaging 插件进行通知,在两个平台上通知都可以正常工作,
但是,我想在通知点击事件中将用户重定向到特定屏幕。对于 Android 方面,它工作正常。但是对于IOS,如果应用程序在后台并且没有终止,则它不起作用(如果应用程序终止,则可以正常工作)。
这是我的通知集成代码示例:
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async
print("onMessage: $message");
gotoTempPage();
,
onLaunch: (Map<String, dynamic> message) async
print("onLaunch: $message");
gotoTempPage();
,
onResume: (Map<String, dynamic> message) async
print("onResume: $message");
gotoTempPage();
,
);
我正在使用插件版本firebase_messaging: ^6.0.9
,和颤振版本v1.12.13+hotfix.5
已经提到这些问题935、1757、1677,但没有任何帮助。
【问题讨论】:
【参考方案1】:您好,我遇到了完全相同的问题。因此,根据插件的当前文档 (firebase_messaging),您应该对 Appdelegate.m/Appdelegate.swift 文件进行一些修改。 这个修改有问题。
从您的AppDelegate.swift
或AppDelegate.m
中的类似代码中删除以下代码
if #available(ios 10.0, *)
UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
这似乎是这个版本的 firebase_messaging (6.0.9) 的错误或问题,如here
【讨论】:
@Rufw91 我即将实现它并搜索我发现它与flutter_local_notification
存在一些兼容性问题。你在 iOS 上遇到了一些问题吗?通常的问题与后台与前台接收消息和本地通知有关。你能确认在以太模式下你能收到这两个通知吗?非常感谢
嗨@Vincenzo,我在iOS应用程序中使用了没有AppDelegate修改的应用程序,当应用程序处于前台、暂停和终止时,我收到通知没有任何问题。但是,我没有使用flutter_local_notification
。我不认为(主观)这应该是一个问题。以上是关于Flutter:当应用程序处于后台但未在 iOS 中终止时,无法在通知单击时重定向到特定屏幕的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序处于后台时,Android 2nd 推送通知有效负载数据未在附加中接收
当应用程序在前台 iOS 中时,未在通知托盘(顶部)中获取推送通知