2010-11-05 2 views
5

J'ai regardé la documentation du filtre d'intention et je n'arrive pas à comprendre ce filtre d'intention spécifique.Qu'est-ce qu'un filtre d'intention qui ne montrerait qu'une application dans le menu partagé lors du partage d'une URL?

Je cherche à utiliser ACTION_SEND parce que je veux seulement que l'application apparaisse dans les menus «Partager» dans d'autres applications. Je veux seulement apparaître dans le menu de partage si le texte de l'intention est une url. Par exemple, ce qui est partagé depuis le menu de partage du navigateur Android. Je ne veux pas que l'application apparaisse dans le menu de partage si c'est juste du texte et pas une URL.

Ce que j'ai à ce jour est:

<intent-filter android:label="Label"> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="text/*" /> 
</intent-filter>  

Cependant, cela recevra tout texte, non seulement urls.

Merci

Répondre

1

Vous pouvez créer des objets IntentFilter programme, et ils peuvent filtrer sur schéma URI entre autres ... beaucoup plus de contrôle. Je pensais que sous-classer IntentFilter donnerait plus d'événement, mais ils ont fait toutes les variations sur "correspondre" final de sorte que vous ne pouvez pas les remplacer dans une sous-classe. Bah!

Eurika!

Vous pouvez spécifier un "système" de données au lieu d'un type MIME. Il suffit de demander "http" et "https" (dans des filtres d'intention séparés?).

<intent-filter> 
    ... 
    <data android:scheme="http"/> 
</intent-filter> 
+0

Merci, je vais jeter un oeil à travers cela. Si je le crée par programme cela fonctionnera-t-il même quand l'application ne fonctionne pas? – cottonBallPaws

+0

J'ai regardé à travers ce lien et je ne sais pas comment cela fonctionnerait pour sous-classer IntentFilter. Avez-vous des liens qui donnent des exemples? Merci encore. – cottonBallPaws

+0

En fait, je n'ai pas l'idée la plus brouillonne ... et sans la possibilité de réécrire "match" je ne suis pas sûr qu'il y ait un intérêt à le faire. En outre, vous devriez être en mesure de définir tous les attributs disponibles via le manifeste, donc je ne suis pas si sûr que ma suggestion est très utile. –

Questions connexes