В соответствии с API Reference , getUrl()
составляет:
set iff getValueType () is TYPE_URL
Таким образом, ваш штрих-код, вероятно, не является URL / закладкой, или ML Kit не распознает его как таковой.
Я рекомендую напечатать эти 3 значения:
@Override
public void onSuccess(List<FirebaseVisionBarcode> barcodes) {
for (FirebaseVisionBarcode barcode:barcodes) {
Log.e("Log", "QR Code: "+barcode.getDisplayValue()); //Returns barcode value in a user-friendly format.
Log.e("Log", "Raw Value: "+barcode.getRawValue());//Returns barcode value as it was encoded in the barcode.
Log.e("Log", "Code Type: "+barcode.getValueType()); //This will tell you the type of your barcode
}
}
Вы, вероятно, найдете желаемый результат в одной из первых двух строк. В третьей строке указывается тип сканированного штрих-кода.