2

我正在做一个 Flutter 项目,我必须设置一个预定的本地通知,该通知将在每天上午 10 点触发。并且,用户应该在点击通知后被带到应用程序的某个页面。我已经完成了这部分,当应用程序打开并且用户单击通知时,该功能可以正常工作。但是当应用程序关闭并触发通知并且用户单击通知时,就会出现问题。它不会将用户带到该特定页面。我试图通过使其成为一个函数来修改点击处理async函数。但它不相应地工作。

有人可以建议我现在该怎么做吗?

4

2 回答 2

0

我不知道您将哪个库用于本地通知。但如果您使用的是 flutter_local_notifications 库,请检查链接:https://pub.dev/packages/flutter_local_notifications ,您可以检查 selectNotification 方法中接收的数据并将用户重定向到所需页面

void selectNotification(String payload) async {
if (payload != null) {
  debugPrint('notification payload: $payload');
}
await Navigator.push(
  context,
  MaterialPageRoute<void>(builder: (context) => SecondScreen(payload)),
);
}

其他库应该具有相同的功能。

于 2022-01-16T10:30:37.443 回答
0

创建通知处理程序。

  • 初始化具有高重要性的通知通道
  • 就在您的应用程序运行之前,在 before 之前runApp(yourApp),创建一个您已初始化的 foregroundMessageHandler 调用void main(){}
  • foregroundMessageHandler 应该是一个 * TopMost初始化。
  • 在foregroundMessageHandler函数中,定义导航行为
于 2022-01-16T10:19:01.770 回答