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?

Foi útil?

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 .

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