Intent
# Intent

A Intent é um recurso de mensagem assíncrona implementado no ambiente de desenvolvimento de aplicativos para o sistema Android que permite partes dos aplicativos (componentes) usarem a funcionalidade de outros componentes do sistema Android para realizar uma tarefa de forma coordenada. Um recurso que executa a vinculação tardia em tempo de execução entre o código em diferentes aplicativos. Por exemplo uma activity de um aplicativo móvel pode iniciar uma activity externa responsável por tirar foto. A intent fornece um sistema de mensagens entre aplicativos que usa a colaboração e o reuso de componentes.
A activity é um módulo independente que é relacionada com uma tela de interface de usuário e suas funcionalidades, no ambiente de desenvolvimento de aplicativos. Por exemplo um aplicativo tem uma activity (tela) que exibe todas as tarefas do dia do usuário como uma agenda e, este aplicativo também pode ter uma segunda Activity onde o usuário possa inserir novas tarefas.
A intent é basicamente uma estrutura de dados passiva que contém a descrição abstrata de uma ação a ser executada. Para leigos, a intent "ligar um interruptor": "Sua intenção é acender a luz e, para isso, você realiza a ação de colocar o interruptor na posição Ligado."

## Descrição

O conceito foi criado como uma forma de permitir que os desenvolvedores remixem facilmente diferentes aplicativos (reuso de componentes) e permitir que cada tipo de tarefa (atividade) seja tratada pelo aplicativo mais adequado (aplicativo padrão da ação), mesmo que fornecido por terceiros. Embora o conceito não seja novo, a arquitetura Android não requer privilégios elevados para acessar os componentes, o que a torna uma plataforma aberta.
Atividades no Android são definidas como classes que controlam o ciclo de vida de uma tarefa na interface/tela do usuário. As atividades suportadas por um aplicativo são declaradas nomanifesto (arquivo de metadados AndroidManifest.xml), para que outros aplicativos possam ler quais atividades estão disponíveis. A intent no aplicativo pode iniciar atividades específicas em um aplicativo diferente, se este último suportar o tipo de mensagem da intent.
Uma análise realizada em 2011 por investigadores da Universidade da Califórnia em Berkeley concluiu que a intent pode representar um risco de segurança, permitindo aos atacantes ler o conteúdo das mensagens e inserir mensagens maliciosas entre as aplicações.

## Estrtura

A estrutura de criação da intent é simples e pode ser dividida em:
* Nome do componente: Activity2.class
* Ação: ACTION_SEND e ACTION_VIEW
* Categoria: CATEGORY_BROWSABLE
* Extras
Exemplo do código na linguagem java:
Após a criação das intent, as iniciamos na origem, usando o método do context que todas as activities estendem, o startActivity(intent).