2017-07-20 2 views
0

Mon problème est avec le lien profond à mon application. Pour être plus précis, cela ne se produit également que lorsque j'essaie d'ouvrir un lien profond vers mon application à partir de Facebook Messenger avec les têtes de discussion actives.Empêcher Android de recréer l'activité déjà existante

Parfois, lorsque j'essaie de revenir (pas ouvert, juste après que messenger a superposé app) à mon application (qui n'a qu'une seule activité) en utilisant un lien profond de FBMessenger l'activité est recréée. onCreate méthode est appelée et une nouvelle instance de mon activité est en cours de création. Le problème principal est que cela ne se produit pas après que l'ancienne activité a été détruite, j'ai ajouté des logs et la première activité onCreate est appelée, et seulement après que l'ancienne activité onDestroy a été appelée.

Alors pourquoi Android essaie-t-il de créer une nouvelle instance de mon activité si elle n'a pas encore détruit l'ancienne?

L'activité launchMode est définie sur singleTask. Editer: Également essayé avec launchMode mis à singleInstance ou singleTop.

Édition 2: trouvé la solution possible en ajoutant android:documentLaunchMode="intoExisting" à l'activité. Je vais faire quelques tests de plus demain matin et publier cette solution comme solution si tout fonctionne bien.

Répondre

0

Utilisez dans votre Android manifeste

android:documentLaunchMode="intoExisting" 
+0

Vérifier https://developer.android.com/guide/topics/manifest/activity-element.html pour plus d'informations –

+0

Salut, merci pour votre réponse rapide, mais ça ne marche pas. Même comportement Je vais mettre à jour ma question. – Boby

+0

Je l'ai fait, mais je n'ai trouvé aucun paramètre susceptible d'empêcher ce comportement. – Boby