2012-01-28 26 views
21

Aquí está mi Manifiesto:PhoneGap aplicación se bloquea cuando se conmuta la orientación incluso con AndroidManifest cambia

<?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> 

estoy usando Phonegap 1.3.0 y jquery mobile.

Mi dispositivo de prueba es un Samsung Galaxy Tab 8.9 con HC v3.2.

He leído CASI casi todos los foros con el mismo problema. Todavía falla cuando giro la pantalla.

Hay una advertencia justo después de que la aplicación falla en modo de depuración: webcore: No se puede obtener el veiwWidth después del primer diseño.

Respuesta

42

En su caso, el atributo android:configChanges="orientation|screenSize|keyboardHidden" debe ir a la primera etiqueta <activity> y no a la <application>.

Para las otras personas que tienen problemas similares simplemente agregue screenSize a android:configChanges="orientation|keyboardHidden" o cambie el atributo android:minSdkVersion a 12 o menos.

Una explicación más detallada de este comportamiento se puede encontrar aquí: http://groups.google.com/group/phonegap/msg/c771fffc4dd9daaf

+1

Sé que esto es viejo, pero en mi caso, tuve que configurar minSdkVersion * AND * targetSdkVersion en los valores apropiados + configChanges para que esto funcione. – Jrop

3

aquí está mi solución Añadir "ScreenSize" para el androide: configChanges en cada etiqueta Actividad (dentro del AnroidManifest.xml).

De esta manera:

android:configChanges="orientation|screenSize|keyboardHidden" 

Se resolvió mi problema.

Cuestiones relacionadas