android - Flutter Barcode_scan 插件崩溃 App?
问题描述
只要我点击相机按钮,应用程序就会崩溃。
它也没有要求任何许可。
我也在清单中包含了活动文件
这是我正在使用的代码,我正在使用的插件是barcode_scan:
即使经过大量搜索,我也无法解决问题。帮助将不胜感激。
class _AuditPage extends State<AuditPage>{
String result = "Scan The Barcode!";
Future _scanQR() async{
try{
String qrCode = await BarcodeScanner.scan();
setState(() {
result = qrCode;
});
}on PlatformException catch (ex){
if(ex.code==BarcodeScanner.CameraAccessDenied){
setState(() {
result="Camera Permission Was Denied";
});
}else{
setState(() {
result="Unknown Error $ex!";
});
}
} on FormatException {
setState(() {
result = "You Pressed The Back Button Before Scanning";
});
} catch (ex){
setState(() {
result="Unknown Error $ex!";
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomPadding: false,
appBar: AppBar(
title: Text("Bhaifi"),
),
drawer: DrawerPage(),
body: Center(
child:Text(
result,
),
),
floatingActionButton:FloatingActionButton.extended(
icon: Icon(Icons.camera_alt),
label: Text("Scan"),
onPressed: _scanQR,
),
floatingActionButtonLocation:FloatingActionButtonLocation.centerFloat,
);
}
}
解决方案
您可能没有在AndroidManifest.xml
文件夹中添加依赖项,我遇到了同样的问题,只需修改scanQR()
函数即可。
尝试这个:
Future scanQR() async {
try {
String barcode;
await BarcodeScanner.scan().then((onValue) {
setState(() {
barcode = onValue.toString();
});
}).catchError((onError) {
print(onError);
});
setState(() => this.barcode = barcode);
} on PlatformException catch (e) {
if (e.code == BarcodeScanner.CameraAccessDenied) {
setState(() {
this.barcode = 'camera permission not granted!';
});
} else {
setState(() => this.barcode = 'Unknown error: $e');
}
} on FormatException {
setState(() => this.barcode = '(User returned)');
} catch (e) {
setState(() => this.barcode = 'Unknown error: $e');
}
}
推荐阅读
- unity3d - 如何在 Unity 中为飞行的 3D 鸟添加对撞机?
- javascript - 如何使用数组值更新样式层权重
- excel - VBA中的COUNTIFS用于多列和多行
- django - Django:无法通过流程实例访问管理器
- sql-server - SQL Server group by 内联 SQL
- html - 如果我的 Django 应用程序中的字段为空,请添加一条消息
- ios - If 语句 SwiftUI
- templates - BigCommerce:模板模板 - 从模板文件中的 URL 访问查询字符串的方法?
- linux - 如何调用我的 linux 共享库函数
- python - SQL语句,如何在sqlite3中的id列表中加入一个id