当应用程序关闭时打开通知时,如何在 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 已初始化?