Como impedir várias instâncias de uma atividade quando ela é iniciada com intenções diferentes

Encontrei um bug no meu aplicativo quando ele foi iniciado usando o"Abrir" botão no Android Market. Parece que o lançamento no mercado usa uma intenção diferente do lançamento no menu de aplicativos do telefone. Isso está levando ao lançamento de várias cópias da mesma atividade, que conflitam entre si.

Por exemplo, se meu aplicativo consiste nas atividades A-B-C, o problema acima pode levar a uma pilha A-B-C-A.

Eu tentei usarandroid:launchMode="singleTask" em todas as atividades para corrigir esse problema, mas tem o efeito colateral indesejado de limpar a pilha de atividades para fazer root sempre que eu clico em HOME.

Exemplo: A-B-C -> CASA -> A quando o que eu preciso é A-B-C -> CASA -> A-B-C

Existe uma boa maneira de impedir o lançamento de várias atividades do mesmo tipo sem redefinir a atividade raiz ao usar o HOME?

questionAnswers(11)

yourAnswerToTheQuestion