Flutter firebase 通知点击打开一个屏幕
Posted
技术标签:
【中文标题】Flutter firebase 通知点击打开一个屏幕【英文标题】:Flutter firebase notification click to open a screen 【发布时间】:2020-10-15 20:41:51 【问题描述】:我有一个颤振应用程序,其中用户有一个要完成的任务列表,当单击任务时,它会进入详细屏幕,提供有关单击任务的详细信息 我有一个详细屏幕的构造函数
class DetailPage extends StatefulWidget
DocumentSnapshot detailDocument;
DetailPage(this.detailDocument);
效果很好 当用户收到新任务时,他会收到通知 我的函数载荷如下
const payload: admin.messaging.MessagingPayload =
notification:
title: 'New Task!',
body: `$Taskdata.Title is given by $Taskdata.Taskgivenby`,
icon: 'your-icon-url',
click_action: 'FLUTTER_NOTIFICATION_CLICK'
;
await fcm.sendToDevice(tokens, payload);
return null;
);
main.dart 文件
_fcm.configure(
onMessage: (Map<String, dynamic> message) async
print("onMessage: $message");
,
onLaunch: (Map<String, dynamic> message) async
print("onLaunch: $message");
,
onResume: (Map<String, dynamic> message) async
print("onResume: $message");
,
);
我遇到的问题是,当用户单击通知时,他应该被定向到详细信息页面。 我怎样才能实现它
【问题讨论】:
你熟悉 Navigator 类吗?您是否已经在您的消息中打印了“onResume”? 我的 onResume 不起作用,我熟悉 Navigator 如果 onResume 不起作用,这意味着你没有用 Flutter 很好地配置你的消息。尝试按照文档中的所有步骤进行操作:pub.dev/documentation/firebase_messaging/latest 我已经尝试使用导航器重定向到详细信息屏幕,但它仍然会进入主屏幕 Navigator.push(context, MaterialPageRoute(builder: (context) => DetailPage(message['data'])) ); 【参考方案1】:这是在没有上下文的情况下导航的问题,我使用本视频教程中的说明实现了类似的操作。
https://www.youtube.com/watch?reload=9&v=kopdISefbJc
希望对您有所帮助。
【讨论】:
以上是关于Flutter firebase 通知点击打开一个屏幕的主要内容,如果未能解决你的问题,请参考以下文章
如何使用firebase推送通知唤醒flutter android应用程序
Flutter Firebase 消息传递 - 应用打开时未显示推送通知
Android - 点击时 Firebase 通知会打开一个 Activity
Flutter Firebase - 点击Firebase发送的电子邮件验证链接时如何打开应用程序?