Quel est le but de “android.intent.category.DEFAULT”?

Dans quel but utiliser android.intent.category.DEFAULT dans le champ Category des Intent Filters?

Les catégories sont utilisées pour les intentions implicites. Ainsi, si votre activité peut être lancée par une intention implicite alors qu’aucune catégorie spécifique ne lui est affectée, son filtre d’intention doit inclure cette catégorie (même si vous avez d’autres catégories dans le filtre d’intention). Si vous êtes certain que votre activité doit être appelée avec une autre catégorie, n’utilisez pas la valeur par défaut.

Définir Category sur Default ne signifie pas que cette activité sera utilisée par défaut lors du lancement de votre application. L’Activité dit simplement au système que ” Oh, je pourrais être lancé, même si la catégorie de l’intention de démarrage est définie sur Rien du tout!

Cette catégorie est principalement utilisée pour les intentions implicites. Si votre activité souhaite être lancée par une intention implicite, elle devrait inclure cette catégorie dans son filtre.

Je pense que le terme “défaut” doit être compris comme ” candidat par défaut”. Si l’action sur un morceau de données se résout en plusieurs activités, alors Android présentera tous les candidats à l’utilisateur et l’utilisateur pourra sélectionner ses parameters par défaut.

Référence:

http://developer.android.com/guide/components/intents-filters.html

Extrait de cette page:

Android traite toutes les intentions implicites transmises à startActivity () comme si elles contenaient au moins une catégorie: “android.intent.category.DEFAULT” (la constante CATEGORY_DEFAULT). Par conséquent, les activités qui acceptent de recevoir des intentions implicites doivent inclure “android.intent.category.DEFAULT” dans leurs filtres d’intention. (Les filtres avec “android.intent.action.MAIN” et “android.intent.category.LAUNCHER” sont des parameters d’exception. Ils marquent les activités qui commencent de nouvelles tâches et qui sont représentées sur l’écran du lanceur. Elles peuvent inclure “android.intent .category.DEFAULT “dans la liste des catégories, mais pas nécessaire.)

Il est en fait de s’assurer que vos autres activités peuvent être appelées lorsque l’application est en cours d’exécution. LAUNCHER fera l’activité qui a la première activité qui commence. Pour utiliser les intentions pour accéder aux autres activités, elles doivent être répertoriées comme activités «réelles» en plaçant DEFAULT. C’est d’après ce que je sais, alors ne me citez pas si c’est faux.

Les activités devront prendre en charge CATEGORY_DEFAULT pour qu’elles puissent être trouvées par Context.startActivity ().

Pour recevoir des intentions implicites, vous devez inclure la catégorie CATEGORY_DEFAULT dans le filtre d’intention. Les méthodes startActivity () et startActivityForResult () traitent toutes les intentions comme si elles déclaraient la catégorie CATEGORY_DEFAULT. Si nous ne le déclarons pas dans notre filtre d’intention, aucune intention implicite ne résoudra notre activité.

Il est utilisé pour déclarer une opération comme action par défaut (comme son nom l’indique). Considérons que nous avons une application de bloc-notes (en référence à l’échantillon de bloc-notes Android). La première page de l’application consiste en une liste de tous les fichiers du bloc-notes. Lorsqu’un fichier bloc-notes est sélectionné, l’une des opérations telles que la note d’édition, la suppression de note, etc. peut être effectuée. Mais je veux modifier comme action par défaut, ce qui signifie que lorsque j’appuie sur le bouton central de mon clavier, la fenêtre d’édition doit être ouverte.