2. Respondendo a alterações de conectividade de rede:
- Broadcast Receiver pode detectar alterações na conexão com a Internet (ACTION_CONNECTIVITY_CHANGE).
- Exemplo: Exibe uma mensagem quando um dispositivo perde uma conexão com a Internet.
3. Respondendo a mensagens SMS recebidas:
- Broadcast Receiver pode detectar mensagens SMS recebidas (ACTION_SMS_RECEIVED).
- Exemplo: Exiba notificações ou processe mensagens SMS automaticamente.
Outros artigos interessantes
5. Service: Processo em segundo plano sem interface do usuário
Service é um componente essencial em um aplicativo Android que permite executar tarefas em segundo plano sem uma interface de usuário. Service é ideal para tarefas que precisam continuar em execução mesmo quando o aplicativo está inativo, como streaming de música, sincronização de dados ou atualizações de localização.
Ao usar Service, você pode garantir que seu aplicativo continue funcionando corretamente mesmo quando os usuários não estiverem interagindo diretamente com o aplicativo.
Tipos de serviço
Service pode ser dividido em dois tipos principais:
1. Started Service
Started Service é um tipo de Service que é iniciado por outro componente, como Activity ou Broadcast Receiver, e continuará a ser executado até que a tarefa seja concluída.
Como funciona:
- Started Service começa chamando o método startService().
- Service será executado em segundo plano até que a tarefa seja concluída ou interrompida manualmente.
- Quando a tarefa estiver concluída, o Service será interrompido automaticamente.
Código de exemplo:
Intent intent = new Intent(this, MyStartedService.class);
startService(intent);
2. Bound Service
Bound Service é um tipo de Service que se liga a outros componentes, como Activity ou Fragment, e será executado enquanto esses componentes estiverem ativos.
Como funciona:
- Bound Service começa chamando o método bindService().
- Service será executado enquanto houver componentes conectados a ele.
- Se todos os componentes liberarem a ligação, o Service será interrompido automaticamente.
Código de exemplo:
Intent intent = new Intent(this, MyBoundService.class);
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
A diferença entre serviço iniciado e serviço vinculado
Aspectos | Started Service | Bound Service |
Como começar | Começando com startService(). | Começando com bindService(). |
Duração | É executado até que a tarefa seja concluída ou interrompida. | Funciona enquanto houver componentes conectados. |
Comunicação | Não é possível se comunicar diretamente com outros componentes. | Pode se comunicar diretamente com componentes colados. |
Exemplos de uso | Streaming de música, sincronização de dados. | Reprodutor de música, comunicação em tempo real. |
Exemplos de uso de serviço em aplicativos
1. Aplicativos de música:
- Started Service: Reproduza música em segundo plano quando o aplicativo estiver inativo.
- Bound Service: Controle a reprodução de música de Activity ou Fragment.
2. Aplicativos de esportes:
- Started Service: rastreia a localização do usuário durante a corrida ou ciclismo.
- Bound Service: Exibe dados de localização e velocidade em tempo real no Activity.
3. Aplicativo de bate-papo:
- Started Service: Envie e receba mensagens em segundo plano.
- Bound Service: Exibe novas mensagens em tempo real no Activity.
6. Content Provider: Compartilhamento de dados entre aplicativos
Content Provider é um componente essencial em aplicativos Android que permite que os aplicativos compartilhem dados com outros aplicativos. Usando Content Provider, você pode dar acesso aos dados do seu aplicativo, como listas de contatos, arquivos de mídia ou bancos de dados, a outros aplicativos.
Content Provider também permite que seu aplicativo acesse dados de outros aplicativos, como acessar a lista de contatos ou a galeria de fotos de um usuário.