Выход из режима OCR при обнаружении определенного текста
В этом примере приложения Android OCR, которое использует com.google.android.gms:play-services-vision
, E сть OcrDetectorProcessor.receiveDetections()
метод, который неоднократно вызывается. В этом методе, пока пользователь направляет камеру на окружающие предметы, мы имеем доступ к любому обнаруженному тексту.
Если пользователь нажимает back
кнопку, процесс завершается, но я бы хотел, чтобы процесс завершился, когда в receiveDetections()
метод.
Я пробовал звонить mParentActivity.onBackPressed()
, но это бросило исключение из super.onBackPressed()
:
OpenCameraSource: исключение выдается из получателя. java.lang.IllegalStateException: должен вызываться из основного потока хоста фрагмента
Таким образом, хотя исключение поймано и приложение продолжает работать, вызывая onBackPressed()
это не правильный подход. Каков правильный способ программно отказаться от receiveDetections()
?
1 ответ
Вместо:
mParentActivity.onBackPressed();
Использование:
mParentActivity.runOnUiThread(new Runnable() { public void run() { mParentActivity.onBackPressed(); } });