uni-app报Bug uni.scanCode在idata设备上面会自动打开系统iScan程序
uni-app报Bug uni.scanCode在idata设备上面会自动打开系统iScan程序
示例代码:
idata扫码枪下
uni.scanCode({
onlyFromCamera: true,
success: (res) => {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
}
});
操作步骤:
idata扫码枪下
uni.scanCode({
onlyFromCamera: true,
success: (res) => {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
}
});
预期结果:
正常调用系统相机扫码并返回扫码结果
实际结果:
无法调用系统相机扫码并返回扫码结果,直接唤醒了本地的iScan程序。iScan不可以卸载,其他应用需要使用。
bug描述:
uni.scanCode在idata设备上面会自动打开系统iScan程序,无法正常进行相机扫码操作。
更多关于uni-app报Bug uni.scanCode在idata设备上面会自动打开系统iScan程序的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app报Bug uni.scanCode在idata设备上面会自动打开系统iScan程序的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个设备兼容性问题。uni.scanCode在调用系统扫码功能时,idata设备的系统将请求重定向到了预装的iScan程序。
解决方案:
- 检查设备设置,看是否有默认扫码应用选项,将默认应用改为系统相机
- 尝试使用
onlyFromCamera: false参数,允许从相册选择 - 在调用scanCode前添加设备类型判断:
// 检测是否为idata设备
if(/* idata设备检测逻辑 */) {
// 使用其他扫码方案或提示用户手动操作
} else {
uni.scanCode({
onlyFromCamera: true,
success: (res) => {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
}
});
}

