HarmonyOS鸿蒙Next中zxing对有些二维码报错,比如识别鸿蒙系统wifi的分享的二维码

HarmonyOS鸿蒙Next中zxing对有些二维码报错,比如识别鸿蒙系统wifi的分享的二维码

let pixelBytesNumber = pixMapData.getPixelBytesNumber();
let arrayBuffer: ArrayBuffer = new ArrayBuffer(pixelBytesNumber);
// 读取图像像素数据,结果写入ArrayBuffer里
await pixMapData.readPixelsToBuffer(arrayBuffer);
let int32Array: Int32Array = new Int32Array(arrayBuffer);
// let int32Array: Uint8ClampedArray = new Uint8ClampedArray(arrayBuffer);
let luminanceSource = new RGBLuminanceSource(int32Array, imageWidth, imageHeight);
let binaryBitmap = new BinaryBitmap(new HybridBinarizer(luminanceSource));
let mltiFormatReader = new MultiFormatReader();
let hints: Map<DecodeHintType, BarcodeFormat[]> = new Map();
hints.set(DecodeHintType.POSSIBLE_FORMATS, [BarcodeFormat.QR_CODE]);
mltiFormatReader.setHints(hints);

对有些二维码,比如识别鸿蒙系统wifi的分享的二维码, 执行到这句代码的时候报错,No MultiFormat Readers were able to detect the code,请问要怎么修复这个bug
let luminanceSource = new RGBLuminanceSource(int32Array, imageWidth, imageHeight);

更多关于HarmonyOS鸿蒙Next中zxing对有些二维码报错,比如识别鸿蒙系统wifi的分享的二维码的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

我用picker选取wifi分享的二维码试了,至少到

let luminanceSource = new RGBLuminanceSource(int32Array, imageWidth, imageHeight);

这里是正常的,所以不是zxing对有些二维码报错,而是你在解析图片时出错了

更多关于HarmonyOS鸿蒙Next中zxing对有些二维码报错,比如识别鸿蒙系统wifi的分享的二维码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,使用zxing库识别某些二维码时可能会报错,尤其是识别鸿蒙系统WiFi分享的二维码。这可能是由于鸿蒙系统的WiFi分享二维码格式与zxing库默认支持的格式不完全兼容。鸿蒙系统的WiFi分享二维码可能包含特定的协议或数据结构,而zxing库可能未完全适配这些内容。建议检查二维码的生成逻辑,确保其符合标准二维码格式,或者考虑使用鸿蒙系统提供的原生API进行二维码识别和处理。

在HarmonyOS鸿蒙Next中,使用zxing库识别鸿蒙系统WiFi分享的二维码时,可能会遇到报错,原因可能是二维码格式或内容不符合zxing的解析标准。鸿蒙系统的WiFi分享二维码可能包含特定的协议或数据格式,zxing无法直接解析。建议检查二维码内容,确保其符合标准二维码格式,或使用鸿蒙系统提供的专用API进行解析。如果必须使用zxing,可以尝试对二维码内容进行预处理,使其符合zxing的解析要求。

回到顶部