Cordova忽略屏幕方向锁定

时间:2014-01-19 01:43:32

标签: android cordova screen-orientation

我正在使用Cordova 3.3.0和我的Galaxy S3(运行最新的Cyanogenmod)来测试我正在处理的应用程序;我需要应用程序屏幕保持“纵向”模式并即使用户旋转设备也会被锁定。无论我尝试过什么或我遵循的教程,应用程序都忽略了锁定屏幕的首选项。我做错了什么?

这是我的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 个答案:

答案 0 :(得分:14)

已修复Cordova 3.4.1 。 现在偏好方向有效!

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

答案 1 :(得分:12)

在我发布问题之后,我刚发现了一个有趣的answer(在右边的相关小部件中);它是一个bug in Cordova并且要修复它,你可以将AndroidManifest.xml编辑成类似的东西;

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

或使用plugin

FI更喜欢编辑清单,因为它很容易。

答案 2 :(得分:1)

解决方案是编辑Android清单,如下所示:

    <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" >

使用未指定的android选择正确的设备方向。 ES。智能手机只是肖像,但平板电脑是纵向和风景