A maneira difícil, mas correta, de fazer isso é criar seu próprio
ContentProvider personalizado para seu aplicativo e atualize todos os dados recebidos de serviços da web e notificações push para este ContentProvider . Quando a Activity volta ao primeiro plano, ele se atualiza com os novos dados fornecidos pelo ContentProvider . É difícil porque criar um
ContentProvider personalizado é muito trabalho. É o correto maneira porque está em conformidade com o comportamento dos aplicativos móveis e com a arquitetura do Android:digamos que um usuário ative um serviço web ou alguma tarefa de computação intensiva e, em seguida, desative o aplicativo; ou digamos que uma notificação push chega e exige que os dados do aplicativo sejam atualizados e exibidos. Em ambos os casos, a Activity do aplicativo s pode não estar mais em primeiro plano, mas um Service pode ser usado para executar alguma operação não-UI. Agora, no final dessa operação, o Service faz alterações nos dados por meio do ContentProvider , e quando o usuário ativa o aplicativo novamente, a Activity s obtêm seus novos dados do ContentProvider . Para citar o tutorial oficial:
Os provedores de conteúdo são a interface padrão que conecta os dados em um processo com o código em execução em outro processo.
Como desenvolvedor, você deve sempre presumir que o usuário pode invocar um aplicativo a qualquer momento e dispensá-lo a qualquer momento. Independentemente de uma
Activity estiver em primeiro plano ou não, os dados do aplicativo precisam ser atualizados e mantidos corretamente. Os próprios aplicativos do Google usam
ContentProvider personalizado s. O Gmail app em particular faz uso de seu ContentProvider para receber novos e-mails quando a conectividade de rede estiver disponível e exibir e-mails offline. O Facebook , WhatsApp &Twitter Os aplicativos Android também usam ContentProvider s.