J'ai encore beaucoup de mal à comprendre le problème mais j'aimerais vous aider à le résoudre. Étant donné que les commentaires n'autorisent que 600 caractères et qu'ils ne sont pas bien formatés, je vais plutôt créer une réponse, car je suis sûr qu'ensemble, nous pourrons résoudre ce problème.
J'aimerais pouvoir reproduire votre problème. Pour ce faire, j'ai créé 2 applications : AppA et AppB . L'application A a une seule activité appelée ActivityA
et l'AppB a une seule activité appelée ActivityB
. Les deux sites ActivityA
et ActivityB
utiliser android:launchMode="singleTask"
.
ActivityA
a un bouton qui lance l'application B et se termine, comme ceci :
Intent intent = new Intent("de.sharpmind.example.AppB");
intent.putExtra("extra", "launched from AppA");
startActivity(intent);
finish();
ActivityB
a un bouton qui lance l'AppA comme ceci :
Intent intent = new Intent("de.sharpmind.example.AppA");
intent.putExtra("extra", "launched from AppB");
startActivity(intent);
Tout cela fonctionne comme je l'espère. AppA et AppB s'exécutent dans des tâches différentes. Le "extra" est correctement vu dans le onCreate()
les méthodes de chaque application.
Pouvez-vous m'en dire plus sur votre problème ? Comment puis-je reproduire exactement votre problème ? Vous avez écrit :
Sur les API inférieures, la nouvelle tâche dans APP-A ne changera pas et les extras putExtra n'auront aucun effet.
Qu'est-ce que vous entendez par là ? Où mettez-vous les extras et où les obtenez-vous et qu'attendez-vous qu'il se passe ?
Par ailleurs, quel est le launchMode
de votre AppB
?
De plus, lorsque vous rencontrez ce problème, y a-t-il d'autres activités dans la pile de tâches de l'AppA ?
Veuillez fournir plus d'informations, soit dans votre question initiale, soit ici dans les commentaires.