【发布时间】:2021-09-30 16:31:00
【问题描述】:
@override
Widget build(BuildContext context) {
return WillPopScope(
child: SafeArea(
child: Scaffold(
backgroundColor: Colors.transparent,
// appBar: AppBar(
// title: Text('Future Demo Page'),
// ),
body: ProgressHUD(
inAsyncCall: isLoading,
child: Stack(
children: <Widget>[
getBarcodeData(),
],
),
)),
),
onWillPop: onBackPress);
}
Future<bool> onBackPress() {
Navigator.pop(context);
String imageUrl = StorageUtil.getString('imageurl');
String strBussName = StorageUtil.getString('buss_name');
String strName = StorageUtil.getString('name');
Navigator.pop(context);
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => MainActivity(imageUrl, strName, strBussName)));
return null;
}
getBarcodeData() async {
try {
final qrcoder = await FlutterBarcodeScanner.scanBarcode(
'#ff6666', 'Cancel', true, ScanMode.QR);
if (!mounted) return;
this.barcodeScanner = qrcoder;
if (barcodeScanner.isNotEmpty) {
getGoodsData(barcodeScanner);
}
} catch (error) {
barcodeScanner = 'Falied to get Platform Version';
}
return barcodeScanner;
}
我正在我的应用程序中实现条形码和二维码扫描。每当我扫描时,我必须从 QR 码/条形码中获取数据,稍后我想用 API 发送该数据。在获得响应后成功调用 API 后,我想显示一些对话框。问题是在扫描页面关闭并且不显示对话框之后。
注意:扫描页面后不应该关闭需要显示对话框。
【问题讨论】: