如何使用PhoneGap + Cordova在Android应用中启用横向和纵向模式

时间:2014-12-04 16:58:49

标签: javascript android iphone cordova

我正在尝试使用PhoneGap + Cordova

在Android应用中启用横向和纵向模式

使用PhoneGap + Cordova + JavaScript

问题:只有肖像模式即将到来。当屏幕从纵向旋转到横向应用程序停止时..

JavaScript的:

<script type="text/javascript">
    document.addEventListener("deviceready", getLocation, false);
    $(function() {
        getLocation();
    });

    var lat = 0;
    var lng = 0;

    function getLocation() {
        navigator.geolocation.getCurrentPosition(onSuccess, onError, { enableHighAccuracy: true });
    }

    function onSuccess(position) {
        lat = position.coords.latitude;
        lng = position.coords.longitude;
        alert('Lattitude: ' + lat + ' Longitude: ' + lng);
    }

    function onError(error) {
        alert('code: ' + error.code + '\n' +
              'message: ' + error.message + '\n');
    }
</script>

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.staplelogic.rideshare"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity 
            android:name="org.apache.cordova.DroidGap" 
            android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden"> 
            <intent-filter></intent-filter>
        </activity>

    </application>

    <supports-screens 
        android:largeScreens="true" 
        android:normalScreens="true" 
        android:smallScreens="true" 
        android:resizeable="true" 
        android:anyDensity="true" />

        <uses-permission 
            android:name="android.permission.CAMERA" />

        <uses-permission android:name="android.permission.VIBRATE" /> 
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
        <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.INTERNET" /> 
        <uses-permission android:name="android.permission.RECEIVE_SMS" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
        <uses-permission android:name="android.permission.READ_CONTACTS" /> 
        <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.BROADCAST_STICKY" />

</manifest>

1 个答案:

答案 0 :(得分:2)

screenSize添加到AnroidManifest.xml中每个Activity中的android:configChanges

像这样:

android:configChanges="orientation|screenSize|keyboardHidden"

Reference