即使AndroidManifest更改,切换方向时PhoneGap应用也会崩溃

这是我的清单:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mappp.mobile" android:versionCode="1" android:versionName="1.0" > <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.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.hardware.camera" /> <uses-permission android:name="android.hardware.camera.autofocus" /> <uses-sdk android:minSdkVersion="13" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:debuggable="true" android:configChanges="orientation|screenSize|keyboardHidden" > <activity android:label="@string/app_name" android:name=".MAppHDActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:configChanges="orientation|screenSize|keyboardHidden" > <intent-filter> </intent-filter> </activity> </application> </manifest> 

我使用Phonegap 1.3.0和jquerymobile。

我的testing设备是HC v3.2的Samsung Galaxy Tab 8.9。

我几乎读过每个论坛都有同样的问题。 当我旋转屏幕时它仍然失败。

在debugging模式下应用程序崩溃后,会有一个警告:webcore:在第一个布局之后无法获取veiwWidth。

Solutions Collecting From Web of "即使AndroidManifest更改,切换方向时PhoneGap应用也会崩溃"

在你的情况下,属性android:configChanges="orientation|screenSize|keyboardHidden"应该转到第一个<activity>标记而不是<application>标记。

对于其他有类似问题的人,只需将screenSize添加到android:configChanges="orientation|keyboardHidden"或将android:minSdkVersion属性更改为12或更低。

有关此行为的更详细说明,请访问http://groups.google.com/group/phonegap/msg/c771fffc4dd9daaf

这里是我的解决scheme将“screenSize”添加到每个Activity标签(在AnroidManifest.xml中)中的android:configChanges。

喜欢这个:

 android:configChanges="orientation|screenSize|keyboardHidden" 

它解决了我的问题。