2010-05-22 11 views
26

Ho letto qui (http://androidlittle.blogspot.com/2009/08/intent-filter-for-share-link.html) quale filtro intent è necessario per gestire l'intento "condividi link" inviato dal browser web Android. Ho messo questo all'interno di un blocco nei miei AndroidManifest.xml in questo modo:Come gestisco l'intenzione della "pagina condivisa" del browser in 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> 

non posso per la vita di me ottenere questo per essere attivato però. Quando condivido un collegamento nel browser Android, il registro dell'emulatore mostra che sta creando un intento del selettore, ma non fornisce i dettagli dell'intento su cui agisce il selettore. Non viene visualizzata alcuna finestra di scelta e l'intento viene gestito dall'applicazione SMS.

Ho anche provato dando il via l'intento manualmente:

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

ma la risposta che ottiene è:

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 } 

Qualcuno può dirmi che cosa sto facendo male? La mia attività principale (avvio) funziona bene, quindi presumo che non ci siano problemi con l'installazione sull'emulatore.

risposta

17

whoops!

Si scopre che il pacchetto è stato installato inizialmente ma al momento della reinstallazione non ha funzionato correttamente. Tra queste due build ho risolto il manifest come si vede sopra - la versione installata non aveva i filtri intent specificati, cosa che ovviamente non avrebbe funzionato.

Indovina, lascerò questo qui nel caso qualcuno abbia lo stesso bisogno? O dovrei semplicemente cancellarlo?

+7

Dico lascia, perché ho appena trovato quello che stavo cercando grazie al tuo post. –

+3

Ho trovato anche questo e l'ho trovato utile, grazie. – ksclarke

+0

beh, la tua domanda ha ottenuto 9 upvotes, la tua risposta ha ottenuto 7 upvotes, e i commenti sopra hanno ottenuto 6 upvotes. Penso che la gente abbia parlato;) – ajacian81

Problemi correlati