cordova-camera插件-插件使应用程序在拍照后进入人像模式

时间:2019-07-11 15:32:58

标签: cordova ionic-framework cordova-plugins

我正在使用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 :(得分:0)

在您的相机配置中,设置了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