是否有机会在main.dart上获取当前上下文?我正在使用共享意图来监听应用程序链接,我需要重定向以指定页面。但是我不知道如何使用上下文。
@override
Widget build(BuildContext context) {
ReceiveSharingIntent.getInitialText().then((String val){
//some logic
Navigator.pushNamed(context, ....);
});
return MaterialApp(
title: 'MyApp',
initialRoute: Routes.home,
onGenerateRoute: (RouteSettings settings) {
switch (settings.name) {
case Routes.home:
return SimplePageRoute(builder: (context) => HomeScreen());
break;
}
}
);
}
我遇到了这个错误
未处理的异常:导航器请求的上下文 不包括导航器。
好的,我知道了,但是如何在该位置获取当前上下文?
答案 0 :(得分:0)
好,我用 navigatorKey 修复了它!
final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState();
@override
Widget build(BuildContext context) {
ReceiveSharingIntent.getInitialText().then((String val){
//some logic
navigatorKey.currentState.pushNamed(Routes.myPage);
});
return MaterialApp(
title: 'MyApp',
initialRoute: Routes.home,
navigatorKey: navigatorKey,
onGenerateRoute: (RouteSettings settings) {
switch (settings.name) {
case Routes.home:
return SimplePageRoute(builder: (context) => HomeScreen());
break;
}
}
);
}