Я реализовал в своем приложении функцию обнаружения штрих-кода. Он работает на всех устройствах, которые я пробовал, но сегодня я заметил, что он не работает на устройстве Android 4.3. Вовлеченный фрагмент кода
barcodeDetector = new BarcodeDetector.Builder(getContext()).setBarcodeFormats(Barcode.QR_CODE).build();
if (!barcodeDetector.isOperational()) {
//TODO something gone wrong
} else {
//init SurfaceView and callbacks
}
и isOperational на этом устройстве возвращают false. Это журнал ошибок:
W/DynamiteModule: Local module descriptor class for com.google.android.gms.vision.dynamite not found.
Failed to retrieve remote module version.
com.myapp W/GooglePlayServicesUtil: Google Play services out of date. Requires 10260000 but found 4452036
com.myapp I/DynamiteModule: Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:0
com.myapp E/ActivityThread: Failed to find provider info for com.google.android.gms.chimera
com.myapp E/BarcodeNativeHandle: Error creating remote native handle
com.google.android.gms.dynamite.DynamiteModule$zza: No acceptable module found. Local version is 0 and remote version is 0.
как я могу правильно обработать эту ошибку, чтобы обнаружение штрих-кода работало?
Я считаю, что вам следует обновить сервисы Google Play на своем эмуляторе / телефоне.
Посмотрите этот пост, чтобы узнать больше Информация
Подскажите пользователю обновить сервисы google play - stackoverflow.com/a/43648662/1581432
Спасибо. Это решение, похоже, предназначено для эмуляторов, но у меня есть эта проблема на реальном устройстве, поэтому мне нужно реализовать решение, которое работает, когда пользователь с моим приложением сталкивается с этой проблемой.