Tôi sử dụng com.google.android.gms.vision.barcode.BarcodeDetector
để đọc mã QR. Vấn đề là các mã này mang dữ liệu nhị phân thô; không có số điện thoại, không có URL, không có geopoints ... Tôi không thể thay đổi các mã QR này, bởi vì chúng được tạo ra trong một ứng dụng khác.API mã vạch tầm nhìn Android - đọc mã QR tùy chỉnh với dữ liệu nhị phân
Khi tôi quét các mã QR này bằng API mã vạch Android, đối tượng Barcode
kết quả không cho phép tôi truy cập dữ liệu thô, mặc dù nó phải biết!
Tất cả những gì tôi nhận được là "Unknown encoding"
thư trong cả hai thuộc tính rawValue
và displayValue
.
Có thuộc tính byte[]
thay vì hai thuộc tính String
sẽ có ý nghĩa hơn vì mã QR có thể mang dữ liệu chung.
Tôi không thấy điểm ẩn mảng byte dữ liệu thô từ nhà phát triển. Tôi có thể mở rộng lớp học BarcodeDetector
hoặc lớp học Barcode
để có được những gì tôi cần không?
Edit:
Đây là một mã QR hoàn toàn hợp lệ, mà không thể được đọc bởi Vision API, mặc dù nó mang 1024 byte dữ liệu:
QR Codes - raw binary data là liên quan, nhưng nó không giải quyết được vấn đề của tôi.
Đó là một câu hỏi rất mơ hồ ... Tôi cũng sử dụng '... vision.barcode ... 'api, trong mã sản xuất. Bạn có thể chia sẻ một ví dụ QR? – Algar
@Algar Chắc chắn rồi, hãy xem bản chỉnh sửa của tôi. – vojta
Xin lỗi, tôi đã hy vọng tôi chỉ có thể đầu ra (thực) giá trị thô từ nguồn nhưng không may mắn .. Tôi đoán có 'null' giá trị hoặc như vậy trong dữ liệu mà làm cho mã hóa không thành công. Dường như rất xấu hổ rằng dữ liệu thô có sẵn nhưng .. Hãy thử gửi một vấn đề [ở đây] (https://github.com/googlesamples/android-vision/issues). :( – Algar