Intent

no sistema Android, é um mecanismo IPC que faz a comunicação entre diferentes aplicativos, é usado junto com o activity
(Redirecionado de Activity)

A Intent é um recurso de mensagem assíncrona implementado no ambiente de desenvolvimento de aplicativos para o sistema Android[1] que permite partes dos aplicativos (componentes) usarem a funcionalidade de outros componentes do sistema Android para realizar uma tarefa de forma coordenada.[2] 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.[2] A intent fornece um sistema de mensagens entre aplicativos que usa a colaboração e o reuso de componentes.[1][3]


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.[4] 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.[4]


A intent é basicamente uma estrutura de dados passiva que contém a descrição abstrata de uma ação a ser executada.[5] 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."[6]

Descrição

editar

O conceito foi criado como uma forma de permitir que os desenvolvedores remixem facilmente diferentes aplicativos (reuso de componentes)[3] 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.[7]

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.[1][8]

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.[3]

Estrtura

editar

A estrutura de criação da intent é simples e pode ser dividida em:[1]

  • Nome do componente: Activity2.class
  • Ação: ACTION_SEND e ACTION_VIEW
  • Categoria: CATEGORY_BROWSABLE
  • Extras

Exemplo do código na linguagem java:[1]

Exemplo 1:[1]
Intent intentE = new Intent(this, Activity2.class);
startActivity(i);
Exemplo 2:[1]
Intent intentMessage = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Olá, tudo bem?");
sendIntent.setType("text/plain");

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).[1]

Intent intentE = new Intent(this, Activity2.class);
startActivity(intentE);

Referências

  1. a b c d e f g h Ferrill, Paul (2011). Pro Android Python with SL4A. [S.l.]: Apress. ISBN 9781430235699 
  2. a b Cordeiro, Fillipe (16 de janeiro de 2017). «Intents: O Guia Completo e Essencial para Usar». AndroidPro. Consultado em 12 de setembro de 2024 
  3. a b c Felt, A. P., Chin, E., Hanna, S., Song, D., & Wagner, D. (2011, October). Android permissions demystified. In Proceedings of the 18th ACM conference on Computer and communications security (pp. 627-638). ACM.
  4. a b Cordeiro, Fillipe (1 de agosto de 2016). «Activity: O que é e como usar corretamente». AndroidPro. Consultado em 12 de setembro de 2024 
  5. Android API retrieved 23-Jul-2013
  6. Felker, Donn. «Common Android Intent Usage». For Dummies. Wiley. Consultado em 3 de setembro de 2013. Arquivado do original em 21 de agosto de 2013 
  7. «Remixing apps with Android intents». developer.vodafone.com. Vodafone. Consultado em 18 de setembro de 2013. Arquivado do original em 4 de outubro de 2013 
  8. Cooper, Bruce (12 de julho de 2011). «Activities, Tasks and Intents, Oh My!». SitePoint. Consultado em 18 de setembro de 2013