PhoneGap的应用程序崩溃改变

问题描述:

这里是我的清单: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。

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

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

应用程序在调试模式下崩溃后出现警告:webcore:第一次布局后无法获取veiwWidth。

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

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

的这种行为更详细的解释可以在这里找到:http://groups.google.com/group/phonegap/msg/c771fffc4dd9daaf

+1

我知道这是旧的,但在我的情况下,我必须将minSdkVersion *和* targetSdkVersion设置为适当的值+ configChanges为了得到这个工作。 – Jrop 2013-03-23 15:35:39

这里是我的解决方案 “屏幕尺寸”添加到Android:在每个活动标记configChanges(在AnroidManifest.xml内)。

像这样:

android:configChanges="orientation|screenSize|keyboardHidden" 

它解决了我的问题。