2019-07-15

使用 cordova-plugin-camera 後,在調用相機時會詢問相機權限


<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
放進 project-root/plugin/cordova-plugin-camera/plugin.xml 的「<user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE />」之後

像這樣
        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
            <uses-permission android:name="android.permission.CAMERA" />
            <uses-feature android:name="android.hardware.camera" />
            <uses-feature android:name="android.hardware.camera.autofocus" />
        </config-file>

不過其實不特別加,我在測試時相機是可以正常開啟然後拍照的…我不確實是不是 cordova-plugin-camera 某個版本之後已經可以省略掉詢問相機權限的動作,但照上面的加確實在啟動相機前是會詢問權限的。

不過,其實我覺得應該是做在安裝 app 時會先告知本程式會使用哪一些權限,但我找不到應該怎麼寫是能在安裝 app 前就告知權限的方式,我是覺得應該是放在 project-root/config.xml 中,但…把上面的那個方式放進 config.xml 中在 build 時會 failed…

所以
todo:1 - 應該要找到是可以在安裝前就宣告權限的方法
todo:2 - 上面的方式不適用 PhoneGapBuild ,但相機仍可使用,但只會出現詢問儲存媒體的權限而已,所以可能也要想想 PhoneGapBuild 會詢問相機權限的方法

沒有留言: