2012-01-28 83 views
21

這裏是我的清單: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。

回答

42

對於您的情況,屬性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

3

這裏是我的解決方案 「屏幕尺寸」添加到Android:在每個活動標記configChanges(在AnroidManifest.xml內)。

像這樣:

android:configChanges="orientation|screenSize|keyboardHidden" 

它解決了我的問題。