我正在使用Vision api来检测QR码。它适用于三星设备,但不适用于LG设备。这两款设备都在6.0.1版本上运行,并且没有任何错误。有什么建议吗?
答案 0 :(得分:1)
这里有一些 Zxing-Library 和 Vision API 的示例,希望它能为您提供帮助。
示例项目基于 Zxing-Library
虽然QR条码的 Vision API 尝试此
答案 1 :(得分:0)
我遇到了同样的问题,即Redmi和Infinix设备上未检测到QR,这是我的解决方案:
Zxing库版本
implementation 'com.google.zxing:core:3.4.0'
只需在此函数中传递您的位图,这将返回字符串值:
public static String getQRDataFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
int[] intArray = new int[bitmap.getWidth() * bitmap.getHeight()];
bitmap.getPixels(intArray, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());
LuminanceSource source = new RGBLuminanceSource(bitmap.getWidth(), bitmap.getHeight(), intArray);
Reader reader = new MultiFormatReader();
try {
Result result = reader.decode(new BinaryBitmap(new HybridBinarizer(source)));
return result.getText();
} catch (NotFoundException e) {
e.printStackTrace();
return null;
} catch (ChecksumException e) {
e.printStackTrace();
return null;
} catch (FormatException e) {
e.printStackTrace();
return null;
}
}