Intent
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
editarO 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
editarA 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
- ↑ a b c d e f g h Ferrill, Paul (2011). Pro Android Python with SL4A. [S.l.]: Apress. ISBN 9781430235699
- ↑ 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
- ↑ 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.
- ↑ a b Cordeiro, Fillipe (1 de agosto de 2016). «Activity: O que é e como usar corretamente». AndroidPro. Consultado em 12 de setembro de 2024
- ↑ Android API retrieved 23-Jul-2013
- ↑ 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
- ↑ «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
- ↑ Cooper, Bruce (12 de julho de 2011). «Activities, Tasks and Intents, Oh My!». SitePoint. Consultado em 18 de setembro de 2013