使用此方法:https://github.com/apptreesoftware/flutter_barcode_reader
临页:
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可以更好地解释这一点:
如果您注意到,在扫描之后,在导航到下一页之前,它会非常简短地显示主页。
答案 0 :(得分:0)
我认为使用 popAndPushNamed 可能会解决您的问题,它将首先弹出您的扫描页面,然后再将您重定向到空白页面。