uni-app uni.scanCode连续多次调用导致扫码界面黑屏,相机黑屏
uni-app uni.scanCode连续多次调用导致扫码界面黑屏,相机黑屏
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10专业版 | HBuilderX |
示例代码:
uni.scanCode({
onlyFromCamera: true,
success: function (res) {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
}
});
操作步骤:
连续扫码5次以上,大几率出现黑屏
预期结果:
想要实现扫码完成后自动继续扫码,以此实现连续扫码
实际结果:
相机黑屏
bug描述:
多次调用uni.scanCode
设备扫码界面出现黑屏,手机自带相机功能也无法使用,重启之后相机功能恢复。
更多关于uni-app uni.scanCode连续多次调用导致扫码界面黑屏,相机黑屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1.直接运行hello uni-app示例项目,到你的设备上会出现一样的问题吗?
2.是特殊机型才会复现吗?试过其他机型没有
更多关于uni-app uni.scanCode连续多次调用导致扫码界面黑屏,相机黑屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
小米10 只能扫码13次, 之后手机照相机功能就打不开了,必须重启手机才能正常. 很明显的扫码一次比一次卡. 貌似扫码后,没有释放资源
不用uni.scanCode 这个api 有问题 用h5的扫码 参考下面这位大神的代码
https://www.freesion.com/article/19361291321/#_16
我也是出现这个问题
我这边也是这个问题,华为手机,扫了大概40多次就黑屏了,需要我重新启动应用才可以,应用场景是在扫码获取货品条形码货号!
我没有黑屏,就是经常扫出来的东西不准确。。。条形码
有谁这个问题得到解决方法了吗?我这边也出现这个现象,出现的概率不一定,这边的场景是大量扫码,需求场景需要扫码几百上千条数据,但是基本300多条之内就会出现扫码页面黑屏。代码也就是调用摄像头和楼主发的一样,不知道问题出在什么地方,没有解决的思路。
换用支付宝的插件吧,那个好用,识别速度还贼快
谢谢
这是uni-app扫码功能的一个已知问题,主要是由于频繁调用uni.scanCode导致相机资源未正确释放造成的。建议采用以下解决方案:
- 在success回调中增加延时再重新调用扫码:
function scan(){
uni.scanCode({
onlyFromCamera: true,
success: function (res) {
console.log('扫码结果', res);
setTimeout(() => {
scan(); // 延迟500ms后重新扫码
}, 500);
},
fail: function(err) {
console.log('扫码失败', err);
setTimeout(scan, 500);
}
});
}
- 或者使用扫码组件的complete回调确保执行完成:
function startScan(){
uni.scanCode({
onlyFromCamera: true,
success: (res) => {
// 处理扫码结果
},
complete: () => {
setTimeout(startScan, 300);
}
});
}