2

画像をキャプチャするために、 ionic 4でcordovaカメラプラグインを使用しています。

takePicture() {
   console.log(' camera takePicture ');
   const options: CameraOptions = {
      quality: 100,
      destinationType: this.camera.DestinationType.DATA_URL,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE
    }

this.camera.getPicture(options).then((imageData) => {
  this.selectedImage = 'data:image/jpeg;base64,' + imageData;
 }, (err) => {
   // Handle error
   console.log('Camera issue:' + err);
 });

}

アプリケーションはクラッシュしませんが、このコードは常にCamera issue: 20を返し、カメラ インターフェイスは電話画面に表示されません。

Androidのアクセス許可に問題があると思ったが、まだ機能していないため、config.xmlファイルを次のように変更しようとしました:

<config-file mode="merge" parent="/*" target="AndroidManifest.xml">
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.camera.autofocus" />
<!--            <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!--            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
</config-file>

同じ行でアプリケーションがクラッシュしたため、ストレージにコメントする必要がありました。

また、プラグインをアンインストールして再インストールしようとしました

ionic cordova plugin remove cordova-plugin-camera
npm uninstall @ionic-native/camera

ionic cordova plugin add cordova-plugin-camera
npm install @ionic-native/camera

これを解決する方法がわかりません。助けが必要です。ありがとう!

4

1 に答える 1