Камера устройства Android не открывается, после разрешения разрешения системы с Ionic 3 - PullRequest
0 голосов
/ 12 февраля 2019

Я хотел использовать плагин камеры в своем приложении.Я запросил разрешение камеры, но после разрешения камера не открывается

Примерить его Следующее устройство - Moto g4 plus с версией Android 7.0

Ниже приведена информация о Ionic

cli пакеты: (C: \ Users \ имя пользователя \ AppData \ Roaming \ npm \ node_modules) @ ionic / cli-utils: 1.19.3 ionic (Ionic CLI): 3.20.1

глобальные пакеты: cordova (Cordova CLI): 8.1.2 (cordova-lib@8.1.1)

локальные пакеты: @ ionic / app-скрипты: 3.2.0 Cordova Платформы: браузер android 7.0.0 5.0.4 Ionic Framework: ионно-угловой 3.9.2

Система: Android SDK Инструменты: 25.2.5 Узел: v8.11,1 npm: 5,6,0 ОС: Windows 10

Переменные среды: ANDROID_HOME: C: \ android-sdk-win

Разное: бэкэнд: pro

Ниже приведен мой код

openCamera () {

    this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
        result => {
            alert(result.hasPermission);
            if(!result.hasPermission) {
                this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA)
                .then( cam => {
                    alert('permission result '+ JSON.stringify(cam) );
                    this.capturingPicture();
                })
                .catch( error => {
                    alert('permission error occured '+ JSON.stringify(error) );
                });
            } else {
                this.capturingPicture();
            }
        },
        err => {
            this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA); 
        });
}

Предупреждение функции capturingPicture отображается, но камера устройства не открывается.

capturingPicture(){
    alert('capturingPicture');

    const options: CameraOptions = {
        mediaType: this.camera.MediaType.PICTURE,
        quality : 75, 
                   destinationType : this.camera.DestinationType.DATA_URL, 
                   sourceType : this.camera.PictureSourceType.CAMERA, 
                  allowEdit : true,
                  encodingType: this.camera.EncodingType.JPEG,
                  targetWidth: 300,
                  targetHeight: 300,
                 saveToPhotoAlbum: false
    };

    this.camera.getPicture(options).then((imageData) => {
        let base64Image = 'data:image/jpeg;base64,' + imageData;
        alert('image data => '+ imageData);
    }, (err) => {
        // Handle error
        alert('get picture error => '+ err);
    });
}

Согласно документации, написал код, но до сих пор не понял, является ли это проблемой code / plugin / verions / OS и т. Д.Пожалуйста, ведите меня с этим.

спасибо.

1 Ответ

0 голосов
/ 14 февраля 2019

Используйте следующую команду для установки камеры в ionic 3

npm install --save @ ionic-native / camera @ 4

...