2021年4月21日水曜日

DroidScriptでカメラ使用

Androidアプリをとても簡単に作れるDroidScriptってアプリがあります。

でも、時々不思議な現象に出くわします。


今回のとても不思議な現象は

カメラ使用権限をDroidScriptに与えていないAndroid端末での現象です。


ただ、この状況に陥るケースは、ほぼ無いとは思いますが

その状況とは

「複数のソースで開発 & メイン以外のソースでカメラを使用する」

といった特殊な状況です。


で、対策としては

メインソースのどこかに

//app.CreateCameraViewx

とコメントを入れるだけでアプリ起動時にカメラ権限を確認されます。


以下、スケルトンソースです


<camTest.js>

//This Comments is required to use the camera

//app.CreateCameraViewx   <<<<<このコメントが重要です!

app.Script( "Camera.js" )        //他のスクリプト読み込み


function OnStart()

{

//Create a layout with objects vertically centered.

layMain = app.CreateLayout( "linear", "VCenter,FillXY" )

app.AddLayout( layMain )

Camera( layMain )            //メインレイアウトにカメラ画像を埋め込む

}


<Camera.js>

//Called when application is started.

function Camera( layContent )

{

//Create camera view control.

cam = app.CreateCameraView( 0.6, 0.8 )

cam.SetOnReady( function(){cam.StartPreview()}  )

layContent.AddChild( cam ) 

}