плагин cordova-camera - плагин, заставляющий приложение переходить в портретный режим после съемки - PullRequest
0 голосов
/ 11 июля 2019

Я пишу приложение с AngularJS 1.5, Ionic 1 и Cordova CLI 8.

Я использую плагин cordova-camera для фотографирования.Мое приложение только для портрета.Пейзаж не поддерживается.

После того, как пользователь делает снимок, все приложение временно переходит в альбомный режим.Это решает себя, но выглядит относительно.Как я могу предотвратить это?

"cordova-android": "^8.0.0"
"cordova-plugin-camera": "^4.0.3"

Ionic:

ionic (Ionic CLI) : 4.12.0 (C:\Program Files\nodejs\node_modules\ionic)
Ionic Framework : ionic1 1.3.5
@ionic/v1-toolkit : 1.0.22

Cordova:

cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 8.0.0
Cordova Plugins : no whitelisted plugins (15 plugins total)

System:

Android SDK Tools : 26.1.1 (C:\Users\aubrey\Documents\AndroidSDK)
NodeJS : v8.16.0 (C:\Program Files\nodejs\node.exe)
npm : 6.4.1
OS : Windows 10

cordova requirements

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-28
Gradle: installed C:\Users\XYZ\Documents\Android\gradle\gradle-5.3.1\bin\gradle

enter image description here

Редактировать: Я передаю эти параметры в плагин камеры:

    var options = {
        targetWidth: 150,
        targetHeight: 150,
        quality: 50,
        destinationType: Camera.DestinationType.DATA_URL,
        sourceType: Camera.PictureSourceType.CAMERA,
        allowEdit: false,
        encodingType: Camera.EncodingType.JPEG,
        popoverOptions: CameraPopoverOptions,
        saveToPhotoAlbum: false,
        correctOrientation: true
    };

1 Ответ

0 голосов
/ 16 июля 2019

В конфигурации вашей камеры установлено correctOrientation: true, что может быть проблемой, так как документ говорит, что это исправит ориентацию устройства. Пожалуйста, измените его на false.

Вы также должны заблокировать ваш экран orientation в config.xml с кодом ниже

<preference name="orientation" value="portrait" />

Если проблема не устранена, вы можете установить плагин cordova-plugin-screen-orientation и заблокировать ориентацию.

cordova plugin add cordova-plugin-screen-orientation

Плагин добавляет следующее к экранному объекту (window.screen)

// lock the device orientation
.orientation.lock('portrait')

// unlock the orientation
.orientation.unlock()

// current orientation
.orientation
...