Em uma determinada atividade do Android, eu gostaria de iniciar uma nova atividade para o usuário em algum momento. Depois que eles saem da primeira atividade e chegam à segunda, a primeira atividade fica obsoleta e eu quero removê-la completamente para que não possa ser acessada novamente pelo botão Voltar.
Como é a melhor maneira de conseguir isso? Como eu mato ou destruo essa atividade imediatamente após o usuário ter lançado a nova atividade?
Respostas:
Você só precisa ligar
finish()
fonte
onDestroy
é um método de ciclo de vida que deve ser chamado apenas a partir da estrutura do Android.A configuração
android:noHistory="true"
da atividade em seu manifesto removerá uma atividade da pilha sempre que ela for navegada. veja aquifonte
você pode usar:
fonte
Você também pode adicionar
android:noHistory="true"
à suaActivity
tag emAndroidManifest.xml
.fonte
Sim, tudo o que você precisa fazer é chamar finish () em qualquer atividade que você gostaria de encerrar.
fonte
Escreva isso em cada "nova atividade" depois de inicializar sua nova intenção->
fonte
Finalmente, eu tenho uma solução!
Meu contexto é : - Quero desconectar a conexão do soquete quando a atividade é destruída, tentei terminar a atividade (), mas ela não funcionou , pois mantém a conexão ativa em algum lugar.
então eu uso
android.os.Process.killProcess(android.os.Process.myPid());
o kill minha atividade e useiandroid:excludeFromRecents="true"
para remover da atividade recente.fonte
android.os.Process.killProcess(android.os.Process.myPid())
mata o processo do aplicativo e não apenas a atividade. Isso significa que qualquer serviço em andamento (em segundo plano ou em primeiro plano) também será interrompido.Adicione esse atributo à sua atividade no arquivo de manifesto. android: noHistory = "true"
fonte
Você só precisa usar o código abaixo ao iniciar a nova atividade.
fonte