FirebaseVisionBarcode列表在初始帧预览时为空

时间:2018-10-19 14:53:56

标签: android firebase android-camera2 firebase-mlkit

我正在跟踪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
    });                

0 个答案:

没有答案