web-dev-qa-db-ja.com

CordovaでAndroid.permission.CAMERAを追加する

Cordovaの最新バージョン(6.3.1)を使用していて、AndroidManifest.xmlに次の権限を表示したい:

<uses-permission Android:name="Android.permission.CAMERA" />

コマンドcordova run Androidを実行するたびにXMLが再生成されるため、この行を手動で追加しても機能しません

cordova-plugin-cameraをプロジェクトに追加しました

cordova plugin add cordova-plugin-camera

このプラグインは、AndroidManifest.xmlにカメラ権限を追加しません

これが正常かどうかはわかりません

この権限をプロジェクトに追加するにはどうすればよいですか?


編集:通常、Cordovaプラグインは、必要な権限をマニフェストに追加する役割を果たします。カメラプラグインはこの特定の権限を追加しません。

  • プラグインがこの権限を追加する必要がある場合(バグ?Jiraトラッカーで問題をオープンしました)
  • この権限を自分で手動で追加できる場合は、おそらくCordovaのconfig.xmlにあります
11
Clemorphy

Cameraプラグインがこの権限をAndroidManifest.xmlに追加したことはないと思います。 Githubリポジトリを見ると、WRITE_EXTERNAL_STORAGEが2013年6月に追加されましたが(CB-3654)、カメラ自体には何も表示されません。理由は不明ですが、AndroidManifest.xmlへの権限を自分で追加するか、プロジェクトのconfig-fileファイルにconfig.xmlディレクティブを追加できます。次に例を示します。

    <config-file target="AndroidManifest.xml" parent="/*" mode="merge">
        <uses-permission Android:name="Android.permission.CAMERA" />
        <uses-feature Android:name="Android.hardware.camera" />
        <uses-feature Android:name="Android.hardware.camera.autofocus" />
    </config-file>
12
sherb