Combien de régime & balises d'hôte peut être sous intent-filter dans le manifeste android
Besoin plus d'informations concernant les intent-filter tag spécifié dans le manifeste. Je suis conscient que l'on peut spécifier des données sous deux formes:
<intent-filter>
<data android:host="com.myHost" android:scheme="content"/>
</intent-filter>
ET :
<intent-filter>
<data android:scheme="content"/>
<data android:host="com.myHost"/>
</intent-filter>
Mais j'aimerais savoir plusieurs combinaisons existent, comme
<intent-filter>
<data android:host="com.myHost" android:scheme="content"/>
<data android:scheme="content"/>
<data android:host="com.myHost1"/>
</intent-filter>
OU:
<intent-filter>
<data android:host="com.myHost" android:scheme="content"/>
<data android:scheme="content"/>
<data android:host="com.myHost1"/>
<data android:scheme="content"/>
<data android:host="com.myHost2"/>
</intent-filter>
Dans le dernier cas, je souhaite savoir tout d'abord si cela peut exister & comment est-il décidé que l'hôte qui sera utilisé pour la méthode, comme les étiquettes de données contenant régime & hôte peut se produire dans n'importe quel ordre.
S'il vous plaît aider.
Les balises de données avec seulement l'hôte spécifié sont complètement ignorées par la manière. À partir de Google docs dans le developer.android.com/guide/components/intents-filters.html Chacun de ces attributs est facultatif dans un <données> élément, mais il y a des dépendances linéaires: Si le système n'est pas spécifié, l'hôte est ignoré. Si un hôte n'est pas spécifié, le port est ignoré. Si le régime et l'hôte ne sont pas spécifiés, le chemin est ignoré.
OriginalL'auteur AndroidGuy | 2013-05-16
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser
content
pour un régime, sauf si vous avez vraiment dire que vous êtes la création d'une activité à l'appui d'uneContentProvider
.Si votre filtre a qu'un seul attribut pour
<data>
, vous avez certainement peut avoir des valeurs différentes, comme cela depuis l'application Contacts:Aussi, un composant peut avoir plusieurs
<intent-filter>
éléments, dont chacun est logiquement OU souhaitez avec les autres (toutIntent
correspondant à un filtre est un match pour le composant). Donc, pour des scénarios plus complexes, où vous avez 2+ attributs par<data>
élément, je serais enclin à mettre ceux-ci en séparer<intent-filter>
éléments.Tout match est considéré comme bon. Vous devez examiner les
Intent
- vous en savoir plus sur ce qu'il contient.Ne fonctionne pas dans tous les cas, android docs disent: "Remarque: les filtres d'Intention ne peut contenir qu'un seul élément de données pour un URI de schéma. Créer des filtres d'intention de capturer des URI modèles."
OriginalL'auteur CommonsWare
Complétant @CommonsWare réponse, il semble que vous ne pouvez pas utiliser deux
<data>
balises si vous n'êtes pas très précises.A) Dans une de mes applications, je peux avoir:
B) Et
C), Mais la suite va ignorer la première balise (à l'aide de
myAppScheme1://whatever
URI ne fonctionne pas):D) Toutefois, si je vient compléter le premier schéma de travail pour les deux URI:
Probablement, si vous avez vraiment besoin de le cas C), vous pouvez créer deux intent-filter
OriginalL'auteur htafoya