J'ai eu le même problème:
Activity A: singleInstance
Activity B: singleInstance
Activity C: singleInstance
A starts B
B starts C
C wants to start A:
ici, si j'utilise:
finish();
startActivity(A);
quelque chose filaire qui se passe: Activité B vient à l'avant-plan au lieu d'Un!
mais si je change le code comme ceci:
startActivity(A);
finish();
tout semble ok et l'Activité vient visibles.
Je ne sais pas quel est le problème, mais il semble que dans le premier cas, C est fini avant l'exécution de la startActivity commande de manière à ce que la pile de retour gère la situation et montre son top de l'activité qui est B!
mais dans le second cas, tout se passe normalement.