Vision api не обнаруживает QR-код на некоторых устройствах
Я использую Vision API для обнаружения QR-кодов. Он хорошо работает на устройстве Samsung, но не на устройстве LG. Оба устройства работают на версии 6.0.1, и нет ошибок. Любой совет?
1 ответ
Вот пример Zxing-Library и Vision API, надеюсь, он вам поможет.
База примеров проектов на Zxing-Library
В то время как Vision API для QR Bar Code попробуйте это
Я столкнулся с той же проблемой, что QR не обнаруживается на устройствах Redmi и Infinix, вот мое решение:
Версия библиотеки 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;
}
}