Intenções do Android

Neste artigo, exploraremos o conceito de Android Intents em detalhes e discutiremos sua importância no desenvolvimento do Android.

No Android , uma intenção é um objeto de mensagem que solicita uma ação de outro componente, seja no mesmo aplicativo ou em outro aplicativo.

Os intents podem ser usados ​​para iniciar Activities, Services e Broadcast Receivers, bem como para passar dados entre eles.

A intenção do Android consiste em uma ação, um tipo de dados e, opcionalmente, dados e informações de categoria.



Ações de intenção do Android

Ao criar um Intent, você deve especificar uma ação que descreva a operação que deseja executar, como “ visualizar ”, “ editar ” ou “ enviar ”.

A ação informa ao sistema Android que tipo de componente deve lidar com o Intent.

Por exemplo, se você tiver um Intent com a ação “ ACTION_VIEW ”, significa que deseja exibir dados para o usuário, como uma página da web, imagem ou vídeo.

O Android tem algumas ações predefinidas, mas você também pode criar ações personalizadas para seu aplicativo.

Aqui estão algumas das ações mais comumente usadas:

Ações Visão geral
ACTION_VIEW Exibir dados para o usuário, como uma página da Web, imagem ou vídeo.
ACTION_EDIT Edite um item de dados existente.
ACTION_SEND Envie dados para outro aplicativo ou serviço.
ACTION_DIAL Iniciar uma chamada telefônica.
ACTION_CALL Ligue para um número de telefone específico.
ACTION_WEB_SEARCH Faça uma pesquisa na web.
ACTION_PICK Escolha um item de dados, como um contato ou foto, em uma lista.
ACTION_GET_CONTENT Recupere dados de outro aplicativo, como uma foto ou documento.
ACTION_BATTERY_CHANGED Ação de transmissão indicando que o nível da bateria mudou.
ACTION_POWER_CONNECTED Ação de transmissão indicando que o dispositivo foi conectado a uma fonte de alimentação.
ACTION_POWER_DISCONNECTED Ação de transmissão indicando que o dispositivo foi desconectado de uma fonte de alimentação.

Dados de intenção do Android

O componente de dados é onde você especifica em que o Intent irá operar, como um URI, caminho de arquivo ou URI do provedor de conteúdo.

Ele é usado para identificar os dados específicos sobre os quais o Intent deve agir.

Por exemplo, se você criar um Intent com a ação “ ACTION_VIEW ” e um URI “ data ” de uma página da web, ele abrirá a página da web no navegador da web padrão.


Categoria de intenção do Android

O componente de categoria é opcional e pode ser usado para descrever melhor o propósito da intenção, como “ padrão ” ou “ alternativa ”.

Categorias são strings que indicam informações adicionais sobre o Intent.

Por exemplo, se você criar um Intent com a ação “ ACTION_VIEW ” e a categoria “ CATEGORY_BROWSABLE ”, ele pode ser manipulado por um navegador capaz de navegar na web.

Algumas das categorias mais usadas são definidas abaixo:

Categorias Visão geral
CATEGORY_DEFAULT Indica que uma ação padrão regular deve ser executada para essa intenção.
CATEGORY_BROWSABLE Indica que a intenção pode ser manipulada por um navegador da web.
CATEGORY_LAUNCHER Esta categoria indica que a intenção é uma atividade que deve ser exibida no iniciador.
CATEGORY_ALTERNATIVE Nesta categoria, a intenção representa uma ação alternativa à intenção original.
CATEGORY_TAB Essa categoria implica que a atividade representa uma guia em uma atividade com várias guias.
CATEGORY_VOICE O reconhecimento de voz pode ser usado para lidar com essa intenção.
CATEGORY_APP_EMAIL Define que a intenção deve ser tratada por um cliente de e-mail .
CATEGORY_APP_MESSAGING Esta categoria designa que a intenção deve ser tratada por um cliente de mensagens.
CATEGORY_APP_CONTACTS Especifica que a intenção deve ser tratada por um aplicativo de contatos.
CATEGORY_APP_CALENDAR Designa que a intenção deve ser tratada por um aplicativo de calendário.

Os componentes de ação, dados e categoria de um Intent são opcionais. Intenções podem conter um ou mais componentes, e cada componente pode ter seus próprios dados, ação e atributos de categoria.

Uma intenção também pode incluir dados extras na forma de pares chave-valor, que podem ser usados ​​para passar informações adicionais entre os componentes.

Além da ação, dados e categoria, uma intenção no Android também pode conter extras e sinalizadores.


Extras de intenção do Android

Extras no Android são pares chave-valor que permitem que dados adicionais sejam passados ​​entre os componentes.

A chave é uma string e o valor pode ser qualquer tipo de dados básico.

Os extras são comumente usados ​​para passar dados para uma atividade quando ela é iniciada, por exemplo, uma intenção de iniciar uma atividade exibindo uma mensagem pode conter um extra com a chave “mensagem” e o valor “ Alô, Mundo! “.


Sinalizadores de intenção do Android

Os sinalizadores no Intent do Android são valores inteiros usados ​​para modificar o comportamento de um Intent.

Usando OR bit a bit , vários sinalizadores podem ser combinados para definir mais de um sinalizador por vez.

Os sinalizadores desempenham um papel crucial no controle de como uma Activity é iniciada ou como um Intent é tratado.

Algumas das bandeiras disponíveis são:

Bandeiras Visão geral
FLAG_ACTIVITY_NEW_TASK Cria uma nova tarefa para a atividade se não existir nenhuma tarefa para manipulá-la.
FLAG_ACTIVITY_CLEAR_TASK Limpa todas as tarefas existentes para a atividade antes de iniciá-la em uma nova tarefa.
FLAG_ACTIVITY_SINGLE_TOP Se a atividade já estiver no topo da pilha de tarefas, ela não será iniciada novamente e o método onNewIntent() será chamado.
FLAG_ACTIVITY_CLEAR_TOP Limpa todas as atividades existentes sobre a atividade antes de iniciá-la.
FLAG_ACTIVITY_NO_HISTORY Garante que a atividade não será armazenada na pilha de atividades, de modo que quando o usuário pressionar o botão Voltar, a atividade não será exibida.
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS Exclui a atividade da lista de aplicativos usados ​​recentemente.
FLAG_ACTIVITY_BROUGHT_TO_FRONT Traz a atividade para a frente da pilha de tarefas, independentemente de já estar em execução ou não.
FLAG_ACTIVITY_FORWARD_RESULT Permite que a atividade passe um código de resultado de volta para a atividade que a iniciou.
FLAG_ACTIVITY_PREVIOUS_IS_TOP Se a atividade que está sendo iniciada já estiver em execução, ela será trazida para a frente da pilha em vez de iniciar uma nova instância.
FLAG_ACTIVITY_REORDER_TO_FRONT Traz a atividade para a frente da pilha de tarefas, mas não cria uma nova instância se ela já estiver em execução.

Tipos de intenções

Existem dois tipos de intenções no Android: intenções explícitas e intenções implícitas.

Intenções explícitas

Uma intenção explícita inicia um componente específico dentro do mesmo aplicativo.

Por exemplo, você pode usá-lo para iniciar uma atividade específica no aplicativo.

Exemplo de código para criar um Intent explícito:

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);

intenções implícitas

Um componente fora do aplicativo atual é iniciado com uma intenção implícita.

Por exemplo, pode ser usado para iniciar um navegador da web para visualizar um URL específico.

O código a seguir cria uma intenção implícita:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com"));
startActivity(intent);

Filtros de intenção do Android

Os filtros de intenção do Android definem os recursos dos componentes e os tipos de intenções aos quais eles podem responder.

Os componentes podem ser configurados para lidar com ações específicas, tipos de dados e categorias.

O filtro de intenção permite que um aplicativo disponibilize seus componentes para outros aplicativos e permita que eles interajam com eles.

Aqui está um exemplo de como criar um filtro de intenção:

<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
</intent-filter>
</activity>

Neste exemplo, estamos criando um filtro de intenção para a SecondActivity que especifica que ela pode lidar com esquemas de dados “ http ” e “ https ”.

Aqui está um exemplo de intenção:

Lançar uma atividade com extras:

Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("key", "value");
startActivity(intent);

Abrindo uma página da web:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com"));
startActivity(intent);

Enviando um e-mail:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected]", null));
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "Message body");
startActivity(Intent.createChooser(intent, "Send email"));

Fazendo uma chamada telefônica:

Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:1234567890"));
startActivity(intent);

Abrindo uma localização no mapa:

Uri gmmIntentUri = Uri.parse("geo:0,0?q=1600+Amphitheatre+Parkway,+Mountain+View,+California");
Intent intent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
intent.setPackage("com.google.android.apps.maps");
startActivity(intent);

Estes são apenas alguns exemplos de como as intenções podem ser usadas no Android. Desde o envio de mensagens até a realização de chamadas telefônicas, eles podem ser usados ​​para uma variedade de tarefas.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone