Я следую за репозиторием quickstart-android для сканирования штрих-кода ML Kit.В моей реализации я замечаю, что обратный вызов onSuccess
запускается при первом запуске камеры для обнаружения штрих-кодов, что нормально.Однако сам список штрих-кодов пуст, когда я держу камеру до действительных штрих-кодов.Вызывается обратный вызов onSuccess
, но список штрих-кодов пуст.
Когда я создаю фоновое приложение, затем на переднем плане оно начинает заполняться списком штрих-кодов (barcodes.size () больше не равен нулю).
Кто-нибудь знает, почему это происходит?
final FirebaseVisionImage firebaseImage =
FirebaseVisionImage.fromMediaImage(image, rotation);
FirebaseVisionBarcodeDetectorOptions options = new
FirebaseVisionBarcodeDetectorOptions.Builder().setBarcodeFormats(
FirebaseVisionBarcode.FORMAT_ALL_FORMATS).build();
barcodeDetector = FirebaseVision.getInstance().getVisionBarcodeDetector(options)
barcodeDetector.detectInImage(firebaseImage).addOnSuccessListener((barcodes) ->
{
// note that the success callback is called and I do get here
// but barcode list is empty initially
for (FirebaseVisionBarcode barcode : barcodes)
{
// we never get here since barcodes.size() is 0
// until I background the app, then foreground it
// after backgrounding, then foregrounding, we start
// detecting barcodes
}
}).addOnFailureListener((exception) -> {
//TODO: handle failure
});