Malheureusement, si l'activité B est définie dans le manifeste pour utiliser android:launchMode="singleTask"
, il n'y a aucun moyen (que je sache) de surcharger cela.
Cependant, vous pouvez supprimer cet attribut de votre code manifeste et utiliser au lieu comme celui-ci lorsque vous voulu le comportement singleTask
:
Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Le résultat final est que vous obtenez le comportement singleTask
quand vous le voulez, et vous ne l'obtenez pas quand vous ne le voulez pas. Vous devez juste changer la stratégie.