Guia de Android Intents: Estrutura, Ações e Categorias
Classificado em Tecnologia
Escrito em em
português com um tamanho de 4,07 KB
O que é Intent?
Intent é um mecanismo para descrever uma ação específica, como tirar uma foto, telefonar, etc.
Qual a estrutura básica de uma Intent?
- Nome do componente: É definido pelo nome qualificado da classe e o nome do pacote definido no
AndroidManifest.xml, que representam o componente encarregado de tratar a Intent. - Ação: É uma string que define qual ação deve ser realizada. Representa aquilo que se deseja fazer.
Categorias (Categories)
- CATEGORY_DEFAULT: Define se a atividade deve ser uma opção para a ação padrão.
- CATEGORY_BROWSABLE: Activities que podem ser invocadas com segurança a partir de um navegador que suporta esta categoria.
- CATEGORY_TAB: Destina-se a ser usado como um separador no interior de uma
TabActivity. - CATEGORY_ALTERNATIVE: Define se a activity deve ser considerada como uma ação alternativa para os dados que o usuário está vendo.
- CATEGORY_SELECTED_ALTERNATIVE: Define se a activity deve ser considerada como uma ação de seleção alternativa para os dados do usuário atualmente selecionados.
Ações (Actions)
- ACTION_CHOOSER: Ação para mostrar um seletor de atividade, permitindo que o usuário escolha o que deseja antes de prosseguir.
- ACTION_GET_CONTENT: Ação que permite ao usuário selecionar um tipo particular de dados e retorná-lo.
- ACTION_DIAL: Ação para discar um número conforme especificado pelos dados.
- ACTION_CALL: Ação para realizar uma chamada para alguém indicado pelos dados.
- ACTION_SEND: Ação para liberar alguns dados para alguém.
Exemplos de Uso de ACTION_VIEW e Outros
- ACTION_VIEW content://contacts/people/1: Exibir informações sobre a pessoa cujo identificador é "1".
- ACTION_DIAL content://contacts/people/1: Mostrar o discador com a pessoa preenchida.
- ACTION_VIEW tel: 123: Mostrar o discador com o número fornecido preenchido.
- ACTION_EDIT content://contacts/people/1: Editar informações sobre a pessoa cujo identificador é "1".
- ACTION_VIEW content://contacts/people/: Exibe uma lista de pessoas que o usuário pode navegar.
Informações Adicionais
- Category: Fornece informações adicionais sobre a ação a ser executada.
- Type: Especifica um tipo explícito dos dados de intenções.
- Component: Especifica um nome explícito de uma classe de componente para usar a intenção.
- Extras: Este é um pacote de qualquer informação adicional.
Casos Específicos
- ACTION_MAIN com categoria CATEGORY_HOME: Lançamento da tela inicial.
- ACTION_GET_CONTENT com tipo MIME
vnd.android.cursor.item/phone: Exibir a lista de números de telefone das pessoas, permitindo ao usuário navegar por elas, escolher um e retorná-lo para a atividade pai.
Construtores da Classe Intent
- Intent(): Cria uma intenção vazia.
- Intent(Intent o): Construtor de cópia.
- Intent(String action): Cria uma intenção com uma determinada ação.
- Intent(String action, Uri uri): Cria uma intenção com uma determinada ação e para a URL de dados.
- Intent(Context packageContext, Class<?> cls): Cria uma intenção de um componente específico.
- Intent(String action, Uri uri, Context packageContext, Class<?> cls): Cria uma intenção de um componente específico com uma ação específica e dados.