画像をキャプチャするために、 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
これを解決する方法がわかりません。助けが必要です。ありがとう!