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程序。

解决方案:

  1. 检查设备设置,看是否有默认扫码应用选项,将默认应用改为系统相机
  2. 尝试使用onlyFromCamera: false参数,允许从相册选择
  3. 在调用scanCode前添加设备类型判断:
// 检测是否为idata设备
if(/* idata设备检测逻辑 */) {
    // 使用其他扫码方案或提示用户手动操作
} else {
    uni.scanCode({
        onlyFromCamera: true,
        success: (res) => {
            console.log('条码类型:' + res.scanType);
            console.log('条码内容:' + res.result);
        }
    });
}
回到顶部