【问题标题】:Flutter firebase notification click to open a screenFlutter firebase 通知点击打开一个屏幕
【发布时间】: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'])) );

标签: firebase flutter firebase-cloud-messaging firebase-notifications


【解决方案1】:

这是在没有上下文的情况下导航的问题,我使用本视频教程中的说明实现了类似的操作。

https://www.youtube.com/watch?reload=9&v=kopdISefbJc

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2020-07-27
    • 2021-04-25
    • 2020-03-12
    • 2022-07-09
    • 1970-01-01
    相关资源
    最近更新 更多