phonegap app在屏幕方向更改时加载第一页

时间:2013-12-09 03:45:44

标签: android cordova

我正在使用phonegap开发一个Android应用程序。我在应用程序中有多个页面和一个活动。每当我更改设备的方向时,无论我在哪个页面,该应用程序都会加载应用程序启动时显示的第一页。我认为这是因为我没有覆盖活动中的onResume()方法,但即使这样也无法解决问题。

编辑:如果应用暂停并恢复,则不会出现此问题。

我的活动:

public class MainScreen extends DroidGap {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/landing.html");
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
    }
}

编辑:添加了清单文件 我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.me.code"
    android:versionCode="5"
    android:versionName="1.4" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission android:name="com.miniorange.authenticator.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.miniorange.authenticator.permission.C2D_MESSAGE" />
    <uses-permission android:name="android.permission.INTERNET" /> 

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.miniorange.authenticator.MainActivity"
            android:label="@string/app_name" >

        </activity>
        <activity android:name="com.miniorange.authenticator.MainScreen">
             <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <activity android:name="com.plugin.gcm.PushHandlerActivity"/>
            <receiver android:name="com.plugin.gcm.CordovaGCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
                <intent-filter>
                    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                    <category android:name="com.me.code" />
                </intent-filter>
            </receiver>
            <service android:name="com.plugin.gcm.GCMIntentService" />

    </application>

</manifest>

可能解决这个问题的方法是什么?

1 个答案:

答案 0 :(得分:0)

抱歉......(回答迟到了:D)

我的应用程序遇到了这个问题:

当我更改方向时,活动会重新加载......

我找到了这个解决方案:

将此属性添加到您的<activity>代码:

android:configChanges="orientation"

建议......使用此insted(更好):

android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"

==========================================

有关解决方案的信息:

是什么原因..(?)

它会向应用程序说你想自己处理这个更改(方向,键盘,键盘,screenSize,区域设置等)。