Я пытаюсь сканировать QR-коды с помощью API Google Vision, но в результате получаю пустой массив.
Я работаю на устройстве Xiaomi Mi A1 с уровнем API 27, minSdkVersion 22, targetSdkVersion 28 и Google Vision API версия 17.02.
В качестве теста я делаю чтение ресурса PNG (изображения QR-кода) как объекта Bitmap, а затем подачу его в BarcodeDetector:
val detector = BarcodeDetector.Builder(applicationContext)
.setBarcodeFormats(Barcode.QR_CODE)
.build()
val myBitmap : Bitmap = BitmapFactory.decodeResource(
applicationContext.resources,
R.drawable.qrcode)
val frame = Frame.Builder().setBitmap(myBitmap).build()
if (detector.isOperational) {
val result : SparseArray<Barcode> = detector.detect(frame)
i ("QRCodeExample", "QR Codes count: ${result.size()}") // prints 0
}
Как показано в приведенном выше коде, я проверил флаг detector.isOperational
, и детектор, кажется, работает, но SparseArray пуст.
"Внешние" вещи, которые я попытался безуспешно:
- Удаление кэша служб Google Play
- Удаление данных приложения
- Обновление версии API Vision с 15.02 до 17.02