O que são Intents?

No Android, para fazer a comunicação entre componentes (Activities, Services e Broadcast Receivers) utilizamos um objeto chamado Intent. Esse objeto carrega dentro dele informações relacionadas à ação que deve ser executada, bem como dados relacionados à execução dessa aplicação. A partir dessas informações, o sistema pode detectar quem deve assumir um Intent que tenha sido enviado e inicializar esse componente para tomar as ações necessárias. Mesmo componentes que façam parte do sistema, como o gerenciador de mensagens ou chamadas, podem ser inicializados através de Intents específicos, que podem ser gerados por qualquer que seja a aplicação.

Apesar do objeto Intent ser o mesmo para todos os componentes que o utilizam, as mensagens enviadas possuem descritores do tipo de componente que aquele Intent busca, passando apenas pelos componentes daquele tipo, em busca de tratamento. Um Intent criado e lançado por um comando startActivity(Intent) nunca vai chegar a um Broadcast Receiver nem a um Service, assim como um Intent lançado por um startService(Intent) nunca vai chegar a uma Activity ou a um Broadcast Receiver e assim por diante. Isso evita que o sistema perca tempo testando Intents contra componentes que não deveriam recebê-los, além de evitar um componente receber um Intent que não deveria ser dele, pois dois componentes diferentes podem ter o mesmo filtro, diferenciado apenas pelo tipo do componente.

Versão 5.3 - Todos os Direitos reservados