Priorité des intentions

 

Dans le fichier AndroidManifest.xml, vous pouvez déclarer des filtres d'intentions. A ces filtres, il sera possible de définir un niveau de priorité.

androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):priority permet de donner un niveau de priorité qui permettra à AndroidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...) de choisir d'utiliser une activité plutôt qu'une autre lorsque plusieurs activités peuvent répondre à un filtre d'intention.

Cette priorité est aussi utilisée pour déterminer dans quel ordre traiter les appels aux broadcasts receivers. Les broadcasts receivers ayant un niveau élevé seront appelés avant les niveaux moins élevés.

Le niveau de priorité est un entier. Plus ce nombre est élevé, plus la priorité est élevée.

 

Exemple d'écriture:

<intent-filter androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):priority="100">

<action androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):name="fr.free.supertos.monbroadcastaction" />

</intent-filter>

 

Si vous déclarez vos filtres d'intentions directement par code, il faudra utiliser les méthodes setPriority() pour positionner le niveau, getPriority() permettant de connaître la valeur de ce niveau de priorité.

Cf. l'exemple de réception de SMS