Pergunta

Em um aplicativo Android, tenho duas atividades;vamos chamá-los de A e B. A é a atividade principal e contém um botão que chama startActivity () para exibir B. Em suma:

A -> B

A tem um tópico que funciona a cada minuto.Nesta marcação, uma notificação é atualizada na barra de status

Isso é o que eu procuro:

1) Quando o usuário clicar na notificação quando nem A nem B estiverem visíveis, mostre A 2) Quando o usuário clica na notificação quando A está visível, nada deve acontecer 3) Quando o usuário clica na notificação quando B está visível, nada deve acontecer (ou, se for mais fácil, pop B para mostrar A)

1) e 2) são fáceis de realizar.3) irá iniciar uma nova versão de A e adicioná-la à fila:

A -> B -> A, que não é o que eu pretendia.O usuário deve pressionar três vezes para voltar para ir para a tela inicial

Existe uma maneira de garantir que clicar na notificação mostrará a pilha A -> B ou A sozinha?

Foi útil?

Solução

Você deve definir o sinalizador da atividade A para singleTask e capturar a nova intenção startActivity() para o onNewIntent(Intent i) da atividade A (que você deve substituir).Espero que isso ajude!

Outras dicas

Defina o sinalizador FLAG_ACTIVITY_CLEAR_TOP no método startActivity(). Depois disso, se você quiser recriar a atividade A, defina o sinalizador FLAG_ACTIVITY_SINGLE_TOP. Ou se quiser reutilizar a atividade A, defina o sinalizador FLAG_ACTIVITY_SINGLE_TOP.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top