Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
264 L’art du développement Android
ajoutons les options au menu avec la méthode addIntentOptions(), à laquelle nous
passons les paramètres suivants :
● La position de tri pour cet ensemble de choix. Cette valeur est généralement 0 (pour
que l’ensemble apparaisse dans l’ordre où il est ajouté au menu) ou ALTERNATIVE
(pour qu’il apparaisse après les autres choix du menu).
● Un nombre unique pour cet ensemble de choix ou 0 si l’on n’a pas besoin de ce nombre.
● Une instance de ComponentName représentant l’activité qui remplit son menu – elle sert à
filtrer les propres actions de l’activité, afin qu’elle puisse les traiter comme elle le souhaite.
● Un tableau d’instances d’Intent, contenant les correspondances "spécifiques" – toutes
les actions correspondant à ces Intent s’afficheront dans le menu avant les autres
actions possibles.
● L’intention pour laquelle vous voulez les actions disponibles.
● Un ensemble d’indicateurs. Le seul réellement pertinent est représenté par
MATCH_DEFAULT_ONLY, qui indique que les actions qui correspondent doivent également implémenter la catégorie DEFAULT_CATEGORY. Si l’on n’a pas besoin de cette
information, il suffit d’utiliser la valeur 0 pour ces indicateurs.
● Un tableau de Menu.Items qui contiendra les éléments de menu qui correspondent au
tableau des instances Intent spécifiques fourni en quatrième paramètre, ou null si
l’on n’utilise pas ces éléments.
Demander à l’entourage
Les familles ActivityAdapter et addIntentOptions() utilisent toutes les deux la méthode
queryIntentActivityOptions() pour rechercher les actions possibles. queryIntentActivityOptions() est implémentée dans PackageManager : pour obtenir une instance
de cette classe, servez-vous de la méthode getPackageManager().
La méthode queryIntentActivityOptions() prend certains des paramètres d’addIntentOptions(), notamment le ComponentName de l’appelant, le tableau des instances
d’Intent "spécifiques", l’Intent générale représentant les actions que vous recherchez et
l’ensemble des indicateurs. Elle renvoie une liste d’instances d’Intent correspondant aux
critères indiqués, les Intent spécifiques en premier.
Pour offrir des actions alternatives aux utilisateurs par un autre moyen qu’addIntentOptions(), vous pouvez appeler queryIntentActivityOptions(), obtenir les instances
d’Intent et les utiliser pour remplir une autre interface utilisateur (une barre d’outils, par
exemple).
Livre Android.book Page 264 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
264 L’art du développement Android
ajoutons les options au menu avec la méthode addIntentOptions(), à laquelle nous
passons les paramètres suivants :
● La position de tri pour cet ensemble de choix. Cette valeur est généralement 0 (pour
que l’ensemble apparaisse dans l’ordre où il est ajouté au menu) ou ALTERNATIVE
(pour qu’il apparaisse après les autres choix du menu).
● Un nombre unique pour cet ensemble de choix ou 0 si l’on n’a pas besoin de ce nombre.
● Une instance de ComponentName représentant l’activité qui remplit son menu – elle sert à
filtrer les propres actions de l’activité, afin qu’elle puisse les traiter comme elle le souhaite.
● Un tableau d’instances d’Intent, contenant les correspondances "spécifiques" – toutes
les actions correspondant à ces Intent s’afficheront dans le menu avant les autres
actions possibles.
● L’intention pour laquelle vous voulez les actions disponibles.
● Un ensemble d’indicateurs. Le seul réellement pertinent est représenté par
MATCH_DEFAULT_ONLY, qui indique que les actions qui correspondent doivent également implémenter la catégorie DEFAULT_CATEGORY. Si l’on n’a pas besoin de cette
information, il suffit d’utiliser la valeur 0 pour ces indicateurs.
● Un tableau de Menu.Items qui contiendra les éléments de menu qui correspondent au
tableau des instances Intent spécifiques fourni en quatrième paramètre, ou null si
l’on n’utilise pas ces éléments.
Demander à l’entourage
Les familles ActivityAdapter et addIntentOptions() utilisent toutes les deux la méthode
queryIntentActivityOptions() pour rechercher les actions possibles. queryIntentActivityOptions() est implémentée dans PackageManager : pour obtenir une instance
de cette classe, servez-vous de la méthode getPackageManager().
La méthode queryIntentActivityOptions() prend certains des paramètres d’addIntentOptions(), notamment le ComponentName de l’appelant, le tableau des instances
d’Intent "spécifiques", l’Intent générale représentant les actions que vous recherchez et
l’ensemble des indicateurs. Elle renvoie une liste d’instances d’Intent correspondant aux
critères indiqués, les Intent spécifiques en premier.
Pour offrir des actions alternatives aux utilisateurs par un autre moyen qu’addIntentOptions(), vous pouvez appeler queryIntentActivityOptions(), obtenir les instances
d’Intent et les utiliser pour remplir une autre interface utilisateur (une barre d’outils, par
exemple).
Livre Android.book Page 264 Dimanche, 8. novembre 2009 12:23 12
