Cordova ignores screen orientation lock [duplicate

2020-06-04 02:21发布

I'm using Cordova 3.3.0 with my Galaxy S3 (running latest Cyanogenmod) to test an app I'm working on; I need the app screen to remain in "portrait" mode and be locked even if the user rotates the device. No matter what I tried or tutorials I followed, the app is ignoring the preferences to lock the screen. What am I doing wrong?

Here's my config.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.numediaweb.test" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Test</name>
    <description>
        Test.</description>
    <author href="http://test.com" email="abdel@test.com">
        me
    </author>
    <content src="index.html" />
    <access origin="*" />
    <preference name="orientation" value="portrait" />
    <preference name="fullscreen" value="true" />
    <preference name="SplashScreen" value="splash" />
    <preference name="SplashScreenDelay" value="3000" />
</widget>

3条回答
The star\"
2楼-- · 2020-06-04 03:00

Fixed in Cordova 3.4.1. Now preference orientation works!

<preference name="orientation" value="portrait" />
查看更多
兄弟一词,经得起流年.
3楼-- · 2020-06-04 03:01

I just found an interesting answer after I posted the question (in the related widget right); It's a bug in Cordova and to fix it, you either edit the AndroidManifest.xml to something like;

<activity android:screenOrientation="portrait" android:configChanges=...

Or use a plugin.

FI prefer to edit the manifest as it is easy.

查看更多
▲ chillily
4楼-- · 2020-06-04 03:01

The solution is to edit the android manifest like this:

    <application
            android:icon="@drawable/icon"
            android:label="@string/app_name" >
            <activity
                android:name=".AppName"
                android:configChanges="orientation|keyboardHidden|screenSize"
                android:label="@string/app_name"
                android:launchMode="singleTask"
                android:screenOrientation="unspecified"
                android:theme="@android:style/Theme.Translucent.NoTitleBar" >

with unspecified android select the proper orientation for device. es. smartphone is portrait only, but tablet is portrait and landscape

查看更多
登录 后发表回答