2010-05-22 4 views
26

Je lis ici (http://androidlittle.blogspot.com/2009/08/intent-filter-for-share-link.html) ce que l'intention-filtre est nécessaire pour gérer le "lien de partage" intention que le navigateur Web Android envoie. Je l'ai placé cet intérieur d'un bloc dans mes AndroidManifest.xml comme ceci:Comment gérer l'intention de "page de partage" du navigateur dans Android?

<activity android:name=".ShareLink"> 
     <intent-filter> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:mimeType="text/plain" /> 
     </intent-filter> 
     <meta-data/> 
    </activity> 

Je ne peux pas pour la vie de me faire ce à déclencher si. Lorsque je partage un lien dans le navigateur Android, le journal de l'émulateur montre qu'il crée une intention de sélection, mais ne donne pas les détails de l'intention sur laquelle le sélecteur agit. Aucune fenêtre de sélection n'apparaît et l'intention est gérée par l'application SMS.

J'ai aussi essayé démarrons l'intention manuellement:

adb shell am start -D -a android.intent.action.SEND -c android.intent.category.DEFAULT -t text/plain -d http://google.com/ 

mais la réponse que je reçois est:

Starting: Intent { act=android.intent.action.SEND cat=[android.intent.category.DEFAULT] dat=http://google.com/ typ=text/plain } 
Error: Activity not started, unable to resolve Intent { act=android.intent.action.SEND cat=[android.intent.category.DEFAULT] dat=http://google.com/ typ=text/plain flg=0x10000000 } 

Quelqu'un peut-il me dire ce que je fais mal? Mon activité principale (lanceur) fonctionne bien, donc je suppose qu'il n'y a pas de problème avec l'installation sur l'émulateur.

Répondre

17

whoops!

En fin de compte, j'avais installé le paquet initialement mais lors de la réinstallation, il était en panne silencieusement. Entre ces deux compilations, j'ai corrigé le manifeste comme vous le voyez ci-dessus - la version installée n'avait pas les filtres d'intention spécifiés, ce qui évidemment ne fonctionnerait pas.

Devinez-vous que je vais laisser ceci ici au cas où quelqu'un aurait le même besoin? Ou devrais-je simplement le supprimer?

+7

Je dis laissez-le, parce que je viens de trouver ce que je cherchais grâce à votre message. –

+3

J'ai aussi trouvé cela et je l'ai trouvé utile, merci. – ksclarke

+0

Eh bien, votre question a obtenu 9 upvotes, votre réponse a 7 upvotes, et les commentaires ci-dessus ont 6 upvotes. Je pense que les gens ont parlé;) – ajacian81

Questions connexes