2012-07-26 27 views
7

No estoy seguro de si esto se espera, si es un error y si hay una solución.¿Cuál es la forma correcta de reanudar una aplicación Android Phonegap?

Cuando un usuario pulsa el botón de inicio en nuestra aplicación Android Phonegap, la aplicación se minimiza correctamente. Cuando el usuario hace clic en el icono para iniciar la aplicación, se reinicia desde el principio. Esto es indeseable

Después de un usuario minimiza la aplicación haciendo clic en el botón de inicio, hay dos formas en que la aplicación va a reanudar correctamente:

  1. Una pulsación larga en el botón de inicio y haciendo clic en la aplicación se reanudará la aplicación en su última estado.
  2. Al hacer clic en una notificación en la barra de estado (notificación push) se reanudará la aplicación en su último estado.

Así que mi pregunta es, ¿qué tenemos que hacer para reanudar la aplicación de la misma manera que los dos elementos anteriores cuando el usuario hace clic en el icono de la aplicación desde el escritorio? La aplicación se está ejecutando y es saludable como confirma el elemento 1 enumerado anteriormente.

Cualquier ayuda sería muy apreciada. ¡Gracias!

+0

En realidad no puedo reproducir este problema. puedes darme mas detalles? –

+0

Tenía miedo de eso. Supongo que algo está mal en nuestra compilación ya que no veo otras preguntas similares. El problema realmente se reduce al hecho de que cada vez que un usuario hace clic en el ícono de la aplicación desde la bandeja de la aplicación o una pantalla de inicio, la aplicación se reinicia desde el primer cuadro. Pantalla de bienvenida y todo. ¿Es ese el comportamiento esperado? Si presiona prolongadamente el botón de inicio y selecciona la aplicación de la lista de aplicaciones en ejecución, la aplicación vuelve a aparecer en el estado en que se redujo al mínimo. Eso es lo que siempre queremos. No estamos seguros de qué podría estar mal. –

+0

Ryan, debería enviarme un correo electrónico directamente "simon [punto] macdonald [at] gmail [dot] com". Probablemente necesite ver tu manifest.xml y posiblemente la clase principal que extiende DroidGap. Parece un problema muy específico. –

Respuesta

2

Tuve el mismo problema. Mi aplicación se reinicia cuando hago clic en el ícono de la aplicación para reiniciar la aplicación que ya se está ejecutando en segundo plano.

Básicamente si el android:launchMode está configurado como estándar o no establecido, se crea un nuevo intento para la aplicación y no se reanuda el estado anterior de la aplicación.

Así que la mejor manera que encontré fue en torno a aplicar

androide: launchMode = "singleTask"

en el AndroidManifest.xml -> dentro <activity>.

favor conside este ejemplo:

<activity android:name="Example" android:label="@string/app_name" 
       android:theme="@android:style/Theme.Black.NoTitleBar" 
       android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
       android:launchMode="singleTask"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
Cuestiones relacionadas