13 votes

Est-ce qu'Android restaure les extras de l'Intent lors de la reprise de l'Activité ?

Dans le cycle de vie de l'activité Android, lorsque Activity.onCreate() est appelé après la reprise (c'est-à-dire pas lorsque l'activité est créée initialement ou en réponse à la rotation de l'écran), ce code renverrait-il un Bundle valide (non nul) ?

public void onCreate(Bundle savedInstanceState) {
    Bundle b = this.getIntent().getExtras();
    // est-ce que b == null ? (lorsque l'activité est reprise)
}

Je tente de reproduire un problème qui survient lorsque l'application n'a pas été utilisée pendant une longue période - lorsque l'utilisateur revient, l'application plante.

14voto

Alexis Points 301

D'accord, donc quand Android tue mon application et que l'utilisateur revient en arrière - onCreate() est déclenché avec une >nouvelle< activité, et l'intention d'origine avec ses Extras associés a disparu ; ou les Extras sont-ils attachés au nouvel Intent par Android ?

Je me posais la même question et j'ai rapidement testé cela dans mon application.

Il s'avère que les extras de l'intent sont disponibles lorsque une activité est recréée après que votre application a été tuée.

2voto

gdonald Points 335

Je mettrais ce code dans onResume() afin qu'il soit disponible lors du retour à l'avant-plan.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X