Intencions (intents)

Per a poder-se comunicar entre diverses aplicacions d'una mateixa tasca, es llança una intenció (intent) o sol·licitud perquè un component dugui a terme una tasca.

Els intents ofereixen un servei de pas de missatges que permet interconnectar components d'aquesta o de diferents aplicacions.

Els intents s'utilitzen per a invocar una nova activitat o bé per a enviar esdeveniments a múltiples activitats (anomenats broadcast intents). Els intents són gestionats pels receptors d'esdeveniments o broadcast receivers, que pot escoltar qualsevol intent.

Un intent es descriu amb els atributs següents:

  • El nom del component al qual volem avisar. Per exemple, l'aplicació de correu electrònic.
  • L'acció que es vol llançar. Per exemple, editar, trucar, sincronitzar o informació de bateria baixa.
  • Les dades sobre l'acció. Per exemple, escriure un nou correu.
  • La informació extra. L'adreça de correu del destinatari i el títol.

Aquests intents es poden invocar de dues maneres:

  • Explícita. S'especifica explícitament en codi quin component és l'encarregat de gestionar l'intent.
  • Exemple

    Intent intent = new Intent(Context, Activity.class);
    startActivity(intent);</p>

  • Implícita. És la plataforma la que determina, per mitjà del procés de resolució d'intents, quin component és el més apropiat per a manejar l'intent.
  • Exemple

    Intent intent = new Intent(Intent.ACTION_DIAL,
    URI.parse(tel:928-76-34-26));
    startActivity(intent);

Un component declara la seva capacitat d'atendre un intent per mitjà del manifest, afegint etiquetes <intent-filter>.