条码扫描后导航到新页面,不返回原始页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条码扫描后导航到新页面,不返回原始页面相关的知识,希望对你有一定的参考价值。

使用此:https://github.com/apptreesoftware/flutter_barcode_reader

Tha页面:

class HomePage extends StatelessWidget {
    Widget build(BuildContext context) {
        // Skipped all boilerplates
        child: new MaterialButton(
            onPressed: scan, 
            child: new Text("Scan")
        ),
    }

    Future scan() async {
        String barcode = await BarcodeScanner.scan();
        Navigator.pushNamed(context, '/scanResult');
    }
}

[当我运行该应用程序时,它显示主页。然后,当我单击按钮时,它将显示条形码扫描页面。扫描完成后,它将短暂返回主页,只有在此之后,它将导航到/ scanResult页面。

我如何直接导航到/ scanResult页面,而没有扫描页面将我重定向到首页?

FWIW,BarcodeScanner.scan()在android上调用一个Activity(我认为),所以我是否受到库的限制?我不知道,从未接触过Android原生开发,我只是感到可疑。

[GIF可以更好地解释这一点:

enter image description here

如果您注意到,在扫描之后,在导航到下一页之前,它会非常简短地显示主页。

答案

我认为使用popAndPushNamed可能会解决您的问题,它将首先弹出您的扫描页面,然后再将您重定向到空白页面。

以上是关于条码扫描后导航到新页面,不返回原始页面的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:状态更改后如何导航到新页面?

在 UWP 中一段时间​​后自动导航到新页面

当在颤动中点击网格时如何导航到新页面?

导航到新页面时,BottomNavigation 不更新

使用React-Native进行入职后导航到新页面

在导航抽屉片段中保存视图页面片段的状态