在Nativescript中,当我暂停应用并恢复运行时,对于sdk小于23的设备,它使用ML-kit文本识别功能:
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元素?
答案 0 :(得分:1)
尝试在应用程序/活动的暂停事件释放摄像机。
set @query = 'select PanelID, PanelCode, PanelName, ApplicationID,
' + @cols + ', (ISNULL(' + REPLACE(@cols, ',', ',0.) + ISNULL(') + ',0.)) AS TOTAL from (
select
distinct p.PanelID, p.PanelCode, p.PanelName, pApps.ApplicationID, ppl.LastName, isnull(ev.AnswerNumeric, 0) as AnswerNumeric
from
tblpanels p inner join tblEvaluators e on p.PanelID = e.PanelID
inner join tblPeople ppl on ppl.PersonID = e.PersonID
inner join tblPanelApps pApps on pApps.PanelID = p.PanelID
left join tblEvaluations ev on ev.ApplicationID = pApps.ApplicationID and ev.EvaluatorID = e.EvaluatorID
where
p.PanelID in (1234, 3656)
)tmp
PIVOT
(
max(AnswerNumeric)
For LastName IN (' + @cols + ')
) As P
Order By PanelID, ApplicationID'
--print @query
execute(@query)