国产日韩精品视频_2020久久国产最新免费观看_国内久久久久影院精品_日本一区二区视频在线

Fluttermain.dartNavigator上下文不包括Navigator

我看過其他幾篇關于Navigator同樣錯誤的文章,要么他們的代碼看起來不一樣,要么在完全不同的地方失敗,要么是其他原因,我一定遺漏了一些重要的東西。對我來說,這失敗的地方只是從后臺或睡眠中恢復。應用程序生命周期檢測到“恢復”,我想導航到登錄頁面,以便用戶選擇配置文件或登錄。下面的錯誤顯示了我嘗試在函數didChangeAppLifecycleState(AppLifecycleState)中使用導航器的任何方式。實際上,如果我在main.dart中的任何地方使用Navigator,它會給出錯誤。在main.dartNavigator之外工作很好。

Navigator operation requested with a context that does not include a Navigator.
The context used to push or pop routes from the Navigator must be that of a widget that is a descendant of a Navigator widget.

在main.dart中導致錯誤的代碼:

@override
void didChangeAppLifecycleState(AppLifecycleState state) {
    super.didChangeAppLifecycleState(state);
    print("State changed! ${state}");
    setState(() {
        _notification = state;
    });
    if(state == AppLifecycleState.resumed){
        NavService().navigateTo(context, '/login');
    }
}

main.dart構建如下:

@override
Widget build(BuildContext context) {
    return 
    MaterialApp(
    theme: new ThemeData(
        primarySwatch: themeSwatchColor,
        brightness: Brightness.light,
        primaryColor: themePrimaryColor,
        accentColor: themeAccentColor,
    ),
    initialRoute: '/',
    navigatorObservers: <NavigatorObserver>[
        NavService(), // this will listen all changes
        
    ],
    onGenerateRoute: (routeSettings) {
        switch (routeSettings.name) {
            case '/':
                return MaterialPageRoute(builder: (_) => LoginPage());
            case '/login':
                return MaterialPageRoute(builder: (_) => LoginPage());
            case '/home':
                return MaterialPageRoute(builder: (_) => HomePage());
            case '/items':
                return MaterialPageRoute(builder: (_) => ItemLookupPage());
            case '/settings':
                return MaterialPageRoute(builder: (_) => SettingsPage());
            case '/oldsettings':
                return MaterialPageRoute(builder: (_) => SecondPage());
            case '/pickorders':
                return MaterialPageRoute(builder: (_) => ReceivedOrdersPage());
            case '/orders':
                return MaterialPageRoute(builder: (_) => OrdersPage());
            case '/receiving':
                return MaterialPageRoute(builder: (_) => ReceivingPage());
            case '/inventory':
                return MaterialPageRoute(builder: (_) => InventoryPage());
            default:
                return MaterialPageRoute(builder: (_) => LoginPage());
        }
    },

    home: (noAccount == true)
        ? LoginPage()
        : HomePage(),
    );
}

NavService.dart:

class NavService extends RouteObserver {

    void saveLastRoute(String lastRoute) async {
        if(lastRoute != "/login" && lastRoute != "/error"){
            final SharedPreferences prefs = await SharedPreferences.getInstance();
            prefs.setString('last_route', lastRoute);
        }
    }

    Future<dynamic> navigateTo(BuildContext context, String routeName, {Map data}) async {
        saveLastRoute(routeName);
        return Navigator.pushNamed(context, routeName,  arguments: data);
    }
}

我也嘗試跳過我的導航服務,直接使用Navigator,但是同樣的錯誤顯示出來了。

Navigator.of(context).push(
    MaterialPageRoute(
        builder: (context) => LoginPage(),
    ),
);

正如其他帖子所建議的那樣,我嘗試使用GlobalKey,但是使用RouteObserver的NavService()在我這樣做時會中斷。

導航服務和頁面路由在應用程序中的任何地方都能很好地工作。只有在main.dart中導航時,我才有這個問題。我只是注意到如果我把上面的Navigator.of().push放在initState()中,就會得到相同的錯誤。也許我的材料應用程序設置錯誤?還是我沒有正確使用導航服務?

謝謝你的幫助!

? 最佳回答:

didChangeAppLifecycleState方法不像build方法提供任何上下文。您必須在不使用上下文的情況下導航,方法是為導航設置全局鍵:

final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();

傳遞給材料應用程序:

    MaterialApp(
      title: 'MyApp',
      onGenerateRoute: generateRoute,
      navigatorKey: navigatorKey,
    );

Push routes:

navigatorKey.currentState.pushNamed('/someRoute');

這個答案的功勞

国产日韩精品视频_2020久久国产最新免费观看_国内久久久久影院精品_日本一区二区视频在线

久久精品国产69国产精品亚洲 | 欧美日韩中文字幕在线| 亚洲三级影院| 国产精品入口麻豆原神| 老司机精品导航| 午夜一区二区三区在线观看 | 亚洲国产精品成人精品| 国产精品成人va在线观看| 久久综合电影| 久久狠狠亚洲综合| 亚洲免费影视| 99国产精品久久| 亚洲国产精品久久久久秋霞不卡| 国产精品实拍| 国产精品嫩草影院av蜜臀| 欧美精品二区| 久热精品视频在线免费观看| 欧美中文日韩| 欧美一区二区三区免费大片| 亚洲天堂网在线观看| 亚洲精品美女| 亚洲日本成人在线观看| 亚洲第一中文字幕在线观看| 黄色一区三区| 亚洲第一精品福利| 1000部国产精品成人观看| 激情六月婷婷久久| 在线看视频不卡| 亚洲第一狼人社区| 亚洲国产另类 国产精品国产免费| 在线观看欧美日韩| 亚洲激情视频网| 亚洲精品美女91| av成人手机在线| 亚洲永久精品大片| 香蕉久久夜色精品国产使用方法| 亚洲一区二区三| 久久av一区二区三区亚洲| 久久看片网站| 欧美国产亚洲精品久久久8v| 欧美高清视频一区| 国产精品高潮粉嫩av| 国产精品一区视频| 黑人极品videos精品欧美裸| 国产欧美日韩在线播放| 国产麻豆91精品| 一区二区在线视频| 夜夜嗨av一区二区三区中文字幕| 亚洲永久精品大片| 久久久精品欧美丰满| 欧美韩国日本一区| 国产农村妇女毛片精品久久莱园子| 国产区精品视频| 亚洲日本成人| 欧美影视一区| 欧美日韩国产三级| 国产一区二区剧情av在线| 亚洲高清精品中出| 亚洲女人小视频在线观看| 久久综合九色欧美综合狠狠| 欧美色播在线播放| 在线观看精品一区| 亚洲欧美色一区| 欧美极品影院| 国产尤物精品| 在线亚洲激情| 欧美国产日韩一区二区| 国产性做久久久久久| 亚洲精品视频免费观看| 久久爱另类一区二区小说| 欧美日韩亚洲高清| 激情91久久| 亚洲欧美日韩精品一区二区| 欧美激情91| 18成人免费观看视频| 午夜精品一区二区三区四区| 欧美成人a∨高清免费观看| 国产乱码精品一区二区三区忘忧草| 亚洲国产91| 久久国产日韩| 国产精品人人做人人爽人人添| 亚洲人在线视频| 可以免费看不卡的av网站| 国产乱人伦精品一区二区| 在线视频欧美日韩| 欧美精品v日韩精品v国产精品| 精品9999| 久久综合国产精品台湾中文娱乐网| 国产精品美女在线| 亚洲午夜一区二区三区| 欧美精品一区二区三| 91久久久久久| 欧美精品一区在线观看| 在线观看亚洲一区| 免费短视频成人日韩| 亚洲大片免费看| 欧美国产第一页| 亚洲精品三级| 欧美丝袜一区二区| 亚洲欧美另类在线| 国产欧美一区视频| 欧美在线免费观看| 国内久久婷婷综合| 两个人的视频www国产精品| 国产亚洲精品aa午夜观看| 久久久久久久国产| 亚洲二区视频| 欧美日本精品一区二区三区| 一区二区三区黄色| 国产九色精品成人porny| 欧美一区二区三区喷汁尤物| 国产一区二区福利| 久久午夜激情| 亚洲伦理在线观看| 国产精品久久久久久久久久尿| 午夜亚洲福利| 亚洲成色www8888| 欧美视频官网| 久久久久成人精品| 日韩午夜剧场| 国产精品私房写真福利视频 | 亚洲欧美一区二区三区在线| 国产毛片一区二区| 欧美一区二区三区免费看| 亚洲成人在线观看视频| 欧美日韩国产一区二区三区地区| 亚洲综合欧美日韩| 亚洲电影免费观看高清完整版在线观看| 免费看精品久久片| 亚洲一区二区不卡免费| 激情婷婷久久| 国产精品国产a级| 免费日韩av| 欧美一区二区三区在线| 亚洲精品女av网站| 红桃视频国产一区| 国产精品免费观看在线| 欧美成人按摩| 久久久久久久网站| 亚洲一区二区三区在线观看视频| 在线播放亚洲一区| 国产日韩成人精品| 欧美色综合网| 欧美高清一区| 免费成年人欧美视频| 久久国内精品视频| 亚洲欧美视频| 99热这里只有精品8| 亚洲国产精品尤物yw在线观看| 国产日韩精品视频一区二区三区 | 亚洲韩国青草视频| 国产日韩欧美精品| 国产精品你懂的在线| 欧美日韩另类一区| 欧美高清在线精品一区| 久久亚洲综合色| 欧美一区二区三区啪啪| 亚洲综合国产| 亚洲欧美激情诱惑| 中文在线一区| 一本一本久久| 日韩一二三在线视频播| 亚洲日本乱码在线观看| 在线免费观看日本一区| 一区在线电影| 黑人巨大精品欧美一区二区 | 欧美一级淫片播放口| 亚洲欧美另类国产| 欧美一级大片在线观看| 亚洲免费一在线| 午夜精彩视频在线观看不卡| 亚洲专区免费| 香蕉久久夜色| 久久国产精品亚洲77777| 久久精品视频在线| 久久女同精品一区二区| 麻豆av一区二区三区久久| 嫩草伊人久久精品少妇av杨幂| 欧美刺激性大交免费视频| 开元免费观看欧美电视剧网站| 久久综合狠狠综合久久综青草 | 亚洲欧洲精品一区| 亚洲美女黄网| 亚洲欧美另类在线| 久久精品国产亚洲5555| 女仆av观看一区| 欧美日韩一区二区三区在线看| 欧美日韩亚洲在线| 国产日韩免费| 亚洲第一级黄色片| 亚洲午夜视频| 久久午夜视频| 欧美亚州韩日在线看免费版国语版| 国产精品一区二区三区免费观看| 国产尤物精品| 一本大道久久a久久综合婷婷| 亚洲欧美在线观看| 欧美xxx在线观看| 国产精品视频一二| 亚洲国产欧美国产综合一区|