Комплект Nativescript ML OCR Сбой распознавания текста при резюме sdk ‹23

В Nativescript с использованием распознавания текста ML-kit для устройств с sdk меньше 23, когда я приостанавливаю приложение и возобновляю его, оно выходит из строя с ошибкой:

System.err: вызвано: java.lang.RuntimeException: инициализация камеры не удалась, поскольку устройство камеры уже было открыто (-16)

В sdk> = 23 кажется, что он работает нормально, но идея состоит в том, чтобы он работал на всех устройствах (у моего клиентского устройства есть android 5.5, поэтому sdk ‹23). Я использую плагин в реальном времени:

<FirebaseMLKitTextRecognition:MLKitTextRecognition
                id="ocrCam"
                class="ocrCam"
                width="100%"
                height="50%"
                processEveryNthFrame="3"
                preferFrontCamera="false"
                torchOn="{{ lightOn }}"
                pause="{{ pauseOCR }}"
                scanResult="onTextRecognitionResult" />

Я читал что-то о разрешениях, например, в старых версиях они не нужны, а в новых они нужны, и он вылетает, когда их запрашивают. Но вопрос закрылся "min sdk 23".

Есть ли какой-либо способ контролировать этот сбой или уничтожить элемент xml при паузе?


person CVO    schedule 21.11.2018    source источник
comment
Вы устанавливаете для pauseOCR значение true, когда приложение приостановлено?   -  person Manoj    schedule 21.11.2018
comment
Да, я тестировал с oauseOCR = true, элементом collapse и тем и другим. Он действительно ставит камеру на паузу с черным блоком, но у меня такая же проблема. (а в моем ›23 устройстве он работает отлично, ничего не останавливая и не сворачивая)   -  person CVO    schedule 21.11.2018


Ответы (1)


Попробуйте отпустить камеру при приостановке вашего приложения / действия.

// Where ocrCam should be reference to MLKitTextRecognition
ocrCam.camera.release(); 
person Manoj    schedule 21.11.2018
comment
Хороший! с page.getViewById (ocrCam) .camera.release (); оно работает. Я не знал метода release () (я новичок в NativeScript) Большое спасибо, он работает очень хорошо. - person CVO; 21.11.2018