Intent Android
Un Intent est un objet de messagerie que vous pouvez utiliser pour stimuler un composant d'une application. Les intents vous permettent d'interagir avec des composants qui appartiennent soit à la même application, soit à l'extérieur de cette application. Il s'agit d'une description abstraite d'une opération à effectuer. L'objet Intent contient des informations qui sont utilisées soit par les composants qui reçoivent cette intention, soit par le système Android lui-même. L'intention peut être utilisée pour : Démarrer une activité, Démarrer un service, Diffuser une émission, Afficher une page web, etc.
Objets d'intent
Un objet d'intent est un ensemble d'informations utilisées par le composant android qui reçoit l'intention ainsi que des informations utilisées par le système android.
Les objets d'intent contiennent les éléments suivants :
Nom du composant ( component name ) : Cette information est facultative. Si le nom du composant est défini, alors le système Android fait directement correspondre l'intention au composant cible. Sinon, le système android utilise d'autres informations pour localiser la cible appropriée. Le nom du composant est défini par setComponent (), setClass () et est lu par getComponent ().
Action : Il s'agit d'une partie nécessaire de l'information qui nomme l'action qu'un composant Android devra Le système Android définit un certain nombre de constantes d'action.
Voici quelques-unes des actions les plus courantes :
Data (Données) : elles contiennent l'identifiant de ressource uniforme (URI) des données. Il existe différents types de plan de données pour différentes actions. Par exemple, si l'action définie était ACTION_CALL, le champ de données contiendrait un numéro à appeler (tel : URI). Il est utile de faire correspondre l'intention à un composant applicable et de définir le type de données (en plus de l'URI). De plus, un composant permettant d'afficher une image doit être appelé pour afficher l'image uniquement, et non pour lire un fichier audio.
Category (Catégorie) : Cette catégorie est facultative et définit la catégorie du composant qui est géré par l'intention.
Extras : Il s'agit de la "paire clé-valeur" pour les informations supplémentaires qui doivent être fournies au composant qui gère l'intention.
Flags (Drapeaux) : Ces drapeaux sont définis dans la classe d'intention qui fonctionnent comme des métadonnées pour l'intention et les drapeaux peuvent demander au système Android de lancer une activité d'une manière spécifique.
Les intents peuvent être divisées en deux types :
Les intents explicites : Un intent explicite est le type d'intention dans lequel vous définissez explicitement le composant qui doit être appelé par le système Android. En général, les intentions explicites sont utilisées pour lancer des composants dans votre propre application. Pour créer une intent explicite
Intents implicites : L'intent implicite est le type d'intention où, au lieu de définir les composants exacts, vous devez définir l'action que vous voulez exécuter pour les différentes activités. Pour créer une intent implicite :
Filtres d'intents
Un filtre d'intent Android est une expression. Elle est exprimée dans le fichier manifeste d'une application andoid. Il définit le type d'intention que le composant doit recevoir. Android Os utilise des filtres pour identifier l'ensemble des activités, des services et des récepteurs de diffusion qui peuvent traiter l'intention à l'aide d'un ensemble spécifié de catégories d'actions, de données et de schémas associés à une intention. S'il n'y a pas de filtre d'intent pour une activité, seule une intention explicite peut la lancer.
Pour des raisons de sécurité, le filtre d'intent ne peut pas être utilisé pour le service. Le service peut démarrer sans avertir l'utilisateur et s'exécuter en arrière-plan. L'architecture Android de votre appareil trouvera le composant déclaré dans un filtre d'intention et le recherchera dans toute l'application Android. Lorsqu'il est trouvé, il démarre l'activité correspondante et exécute l'action appropriée.
Dans Android, un composant a des filtres séparés pour chaque tâche qu'il peut faire, chaque visage qu'il peut montrer à l'utilisateur. Par exemple, l'activité NoteEditor de l'exemple d'application de bloc-notes a deux filtres : un pour démarrer une note spécifique que l'utilisateur peut visualiser ou modifier, et un autre pour démarrer une nouvelle note vierge que l'utilisateur peut remplir et enregistrer.