【问题标题】:Nativescript ML kit OCR Text recognition crashes on resume sdk < 23Nativescript ML 套件 OCR 文本识别在 resume sdk < 23 时崩溃
【发布时间】:2018-11-21 15:34:49
【问题描述】:

在 Nativescript 中,当我暂停应用程序并恢复时,对 sdk 小于 23 的设备使用 ML-kit 文本识别时出现错误:

System.err:引起:java.lang.RuntimeException:相机 初始化失败,因为相机设备已经 打开(-16)

在 sdk >= 23 中,它似乎工作正常,但我们的想法是让它在所有设备上都能工作(我的客户端设备有 android 5.5 所以 sdk

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

我读过一些关于权限的东西,比如旧版本不需要它们,但新版本需要它们,并且在请求它们时会崩溃。但是由“min sdk 23”关闭的问题。

是否有任何方法可以控制在暂停时崩溃或破坏 xml 元素?

【问题讨论】:

  • 应用暂停时,您是否将pauseOCR 设置为true?
  • 是的,我使用 oauseOCR = true、折叠元素和两者进行了测试。它确实会用黑色块暂停查看相机,但我有同样的问题。 (在我的 >23 设备中,它可以完美运行而不会暂停和折叠任何东西)

标签: android-camera nativescript firebase-mlkit


【解决方案1】:

尝试在您的应用程序/活动的暂停事件中释放相机。

// Where ocrCam should be reference to MLKitTextRecognition
ocrCam.camera.release(); 

【讨论】:

  • 不错!与 page.getViewById("ocrCam").camera.release();有用。我不知道 release() 方法(我是 NativeScript 的新手)非常感谢它工作得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2019-02-24
相关资源
最近更新 更多