2010-10-13 12 views
2

J'ai une application iPhone assez standard qui crée une série d'environ 7 activités uniques initialisées par Intents.Android Intent Crash d'activité - l'application redémarre à mi-chemin de l'application

Toutefois, si l'application tombe en panne lors de la 7ème activité, l'application redémarre sur le téléphone de l'utilisateur autour de la 5ème activité. Le problème est alors que les informations recueillies à partir des activités 1-4 sont nulles, ce qui signifie que l'application est inutile et que la seule façon de faire fonctionner l'application est soit de continuer à appuyer en arrière, soit de tuer le processus.

Pourquoi ce problème se produit-il et existe-t-il un moyen de forcer l'application à redémarrer à la première activité lorsqu'elle se bloque?

Répondre

0

Votre application redémarre dans l'activité qui était au-delà de l'activité plantée dans la pile d'activités. Vous pouvez terminer toutes les activités qui sont au-delà de votre activité actuelle en appelant

this.finish(); 

après le démarrage de l'activité suivante.

Le problème est que l'utilisateur ne peut maintenant pas appuyer sur le bouton de retour pour modifier les données qui ont été insérées dans les étapes précédentes parce que ces activités ont disparu.

Vous pouvez avoir un problème général avec la persistance des données sur les cycles de pause et de reprise. Essayez d'appeler votre émulateur ou votre téléphone lorsque vous êtes dans l'une des activités les plus profondes, puis revenez à l'application en appuyant longuement sur le bouton d'accueil. Vous pouvez voir que les données des activités précédentes sont maintenant également vides. Jouez avec ce comportement et jetez un oeil à la application life cycle documents.

Ceci peut être un moyen de vérifier si des données sont disponibles et si vous ne fermez pas l'activité ou revenez à l'activité de démarrage.