Выход из режима 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();
                    }
              });
Другие вопросы по тегам