小编Jsp*_*spr的帖子

Flutter - 应用程序关闭时如何导航通知

当应用程序关闭时打开通知时,如何在 flutter 中导航?

这是我从主函数调用的代码:

final FirebaseMessaging _fcm = FirebaseMessaging.instance;
_fcm.getInitialMessage().then((RemoteMessage message) { 
  if (message != null && message.data != null) {
      Keys.navKey.currentState.pushNamed(Routes.messageDetail);
  } 
}); 
Run Code Online (Sandbox Code Playgroud)

在我的 main.dart 中,我设置了 MaterialApp 的 navigatorKey:

 MaterialApp(
          navigatorKey: Keys.navKey,)
Run Code Online (Sandbox Code Playgroud)

navKey 是一个静态变量:

class Keys {
  static final navKey = new GlobalKey<NavigatorState>();
}
Run Code Online (Sandbox Code Playgroud)

如果我在应用程序关闭时打开通知,我会收到以下错误:

NoSuchMethodError:在 null 上调用了方法“pushNamed”。接收者:null 尝试调用:pushNamed("MESSAGEDETAIL")

我可以使用导航键在应用程序中的其他位置导航。

还有其他方法可以做到这一点或者如何确保 navigationKey 已初始化?

dart firebase flutter

3
推荐指数
1
解决办法
1879
查看次数

标签 统计

dart ×1

firebase ×1

flutter ×1