Выход из режима OCR при обнаружении определенного текста - PullRequest
0 голосов
/ 11 декабря 2018

В этом образце приложения OCR для Android , в котором используется com.google.android.gms:play-services-vision, есть метод OcrDetectorProcessor.receiveDetections(), который вызывается повторно.В этом методе, пока пользователь направляет камеру на окружающие предметы, у нас есть доступ к любому обнаруженному тексту.

Если пользователь нажимает кнопку back, процесс заканчивается, но Iхотел бы завершить процесс, когда в методе receiveDetections() возникает определенное условие.

Я пытался вызвать mParentActivity.onBackPressed(), но это вызвало исключение из super.onBackPressed():

OpenCameraSource: исключение, сгенерированное из получателя.java.lang.IllegalStateException: должен вызываться из основного потока узла-фрагмента

Поэтому, хотя исключение перехватывается и приложение продолжает работать, вызов onBackPressed() не является правильным подходом. Каков правильный способ программно отказаться от receiveDetections()?

1 Ответ

0 голосов
/ 11 декабря 2018

Вместо:

              mParentActivity.onBackPressed();

Использование:

              mParentActivity.runOnUiThread(new Runnable() {
                    public void run() {
                        mParentActivity.onBackPressed();
                    }
              });
...