Eu tenho 2 atividades. Atividade A e Atividade B. Ambos chamando um ao outro embora intencional. A Atividade A chama a Atividade B. A Atividade B acessa o banco de dados e a envia de volta para a atividade A através de putExtra () e getExtra ().
Agora minha atividade A está declarada assim android: launchMode = "singleTask"
Quando eu voltar para a atividade A eu quero o meu presenteatividade A a ser atualizada ou atualizada automaticamente. Mas, para minha surpresa, o que eu entendi na depuração é que, se eu declarar uma atividade como launchMode = "singleTask", ela trará a tela para o topo da pilha. Na verdade, ele não entra no código.
É o conceito que entendi correto?
A solução que vejo é ter um botão de atualização eao clicar desse acesso, o código e a tela de atualização. Mas eu não quero fazer isso. Você acha que existe alguma outra alternativa? Eu não quero mudar o launchMode = "singleTask"
Desde já, obrigado.
Respostas:
0 para resposta № 1Experimentar startActivityForResult(intent);
e enquanto você tiver terminado em B setResult(RESULT_OK);
e finish();
a atividade B e em A onActivityResult(int,int,intent);
pegue o código de resultado se RESULT_OK atualizar seu A.
0 para resposta № 2
Não importa qual launchMode, quando você alterna da Atividade B para a Atividade A, o método onResume () deve ser chamado. Você pode colocar seu código de atualização lá para atualizar sua atividade.
0 para resposta № 3
coloque sua parte de atualização no método onResume. Depois que a Atividade B tiver concluído, seu método onResume será chamado na Atividade A.