Android: acessando os valores dos botões de rádio a partir de um serviço
-
20-08-2019 - |
Pergunta
No meu aplicativo Android, um serviço é executado em segundo plano e ele registra GPS leituras para um banco de dados . O usuário vê uma atividade que apresenta-los com botões de rádio . Eu gostaria de também fazer logon seu botão de rádio selecionado atualmente no banco de dados.
Como posso acessar o objeto botão de rádio do Serviço?
Solução
Um método fácil de fazer isso (supondo que suas corridas de Serviços no mesmo processo como a Atividade) é usar um arquivo de preferências compartilhada. A atividade pode escrever para o arquivo de preferências sempre que um botão de rádio é alterado, e o Serviço pode registrar um ouvinte sobre as preferências ou verificar o estado sempre escrevendo para o banco de dados.
A maneira mais complicada que evita preferências seria para o serviço a ser iniciado com Context.startService () (para que ele permaneça funcionando mesmo se a atividade não está por perto) e depois para a Atividade de chamar Context.bindService () (começando o serviço se ele não está em execução) para retornar um esboço IBinder ele pode se comunicar com. Para esta abordagem, eu recomendo que você olhar para o Serviço API Demos .