flutter - 当我尝试打开相机以扫描 QR 码时,我收到“无法在没有相机许可的情况下打开相机“0”错误
问题描述
cannot open camera "0" without camera permission
当我尝试打开相机扫描 QR 码时出现错误。
我有一个无法打开相机的二维码扫描仪功能。出现扫描仪屏幕,但我没有看到里面有用于扫描的线条的框。
我还在 Android 清单中添加了相机权限
Android 清单权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"
android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
扫描仪功能如下
Future <void> scanqr() async {
final qrCode = await scanner.scan();
setState(() {
this.qrCode = qrCode;
});
}
解决方案
//使用permission_handler包并使用下面的代码..它会正常工作
Future <void> scanqr() async {
await Permission.camera.request();
final qrCode = await scanner.scan();
setState(() {
this.qrCode = qrCode;
});
}
推荐阅读
- ios - 防止堆栈导航器在打开带有深层链接的本机应用程序时自动路由到屏幕
- python - 从rabbitMQ消费时,Flask消费者不执行回调
- python - 精度分数:比较训练数据与测试数据
- javascript - 如何对json数组值进行排序?
- java - 如何处理使用 KafkaAvroSerializer 序列化的记录的 Kafka 消费者反序列化错误?
- c# - .NET Core 提交将所有数据传递给控制器,除了 id
- docker - Is there any way to run repo2docker in Windows?
- mysql - What Java datatype can I use for MY SQL TinyInt
- pygame - Pygame - add border to sprite
- c# - How to read an excel file where columns are repeated in a single row and convert them into datatable