Intent
que carrega o conteúdo da mensagem. Para atividades e serviços, ele indica a ação solicitada e especifica a URI dos dados sobre os quais atuar, dentre outras coisas. Por exemplo, ele pode transmitir um pedido para uma atividade para mostrar uma imagem ao usuário ou permitir que o usuário edite algum texto. Para broadcast receivers, o objeto Intent indica a ação anunciada. Por exemplo, ele pode anunciar às partes interessadas que o botão da câmera foi pressionado.Existem métodos distintos para ativar cada tipo de componente:
- Uma atividade é lançada (ou recebe alguma coisa pra fazer) passando-se um objeto Intent para
(inicia uma atividade da qual não se espera retorno) ouContext.startActivity()
(usado quando se espera um resultado de volta da atividade que ela está iniciando). Uma atividade frequentemente inicia uma próxima. A atividade responsável pode analizar o intento inicial que a fez ser lançada chamando seu métodoActivity.startActivityForResult()
. O Android chama o métodogetIntent()
da atividade para passar quaisquer intentos subsequentes.onNewIntent()
startActivityForResult()
é usado por exemplo, para iniciar uma atividade que permite ao usuário selecionar uma foto, ela deve espera que seja retornada a foto escolhida. O resultado é retornado em um objeto Intent que é passado para o método onActivityResult()
da atividade requerente.- Um serviço é iniciado (ou novas instruções são dadas para o serviço em execução) passando-se um objeto Intent para
. O Android chama o métodoContext.startService()
do serviço passando-lhe o objeto Intent.onStart()
Context.bindService()
para estabelecer uma conexão em execução entre o componente requerente e o serviço-alvo. O serviço recebe o objeto Intent através de uma chamada a onBind()
. (Se o serviço não estiver rodando, bindService()
pode opcionalmente iniciá-lo.) Por exemplo, uma atividade poderia estabelecer uma conexão com o serviço de playback de música mencionado anteriormente de forma a permitir que o usuário controlasse (através de uma interface de usuário) o playback. A atividade chamaria bindService()
para preparar a conexão, e então chamaria métodos definidos pelo serviço para afetar o playback.A seção Remote procedure calls, fornece mais detalhes sobre ligação (binding) a um serviço.
- Uma aplicação pode iniciar um broadcast passando um objeto Intent para métodos como
,Context.sendBroadcast()
, eContext.sendOrderedBroadcast()
em qualquer uma de suas variações. O Android entrega o intento para todos os broadcast receivers interessados chamando seus métodosContext.sendStickyBroadcast()
.onReceive()
adaptado de http://zendroid.com.br/documentacao/principios-basicos-da-aplicacao-–-parte-2-intentos/
Leandro Santos
Nenhum comentário:
Postar um comentário