2010-05-22 7 views
26

He leído aquí (http://androidlittle.blogspot.com/2009/08/intent-filter-for-share-link.html) qué intent-filter es necesario para manejar el intento de "compartir enlace" que envía el navegador web de Android. He puesto esto dentro de un bloque en mis AndroidManifest.xml así:¿Cómo manejo la intención de "compartir página" del navegador en 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> 

no puedo por la vida de mí conseguir que esto se activará sin embargo. Cuando comparto un enlace en el navegador de Android, el registro del emulador muestra que está creando un intento de elección, pero no proporciona los detalles de la intención en la que actúa el seleccionador. No aparece una ventana de selector, y la aplicación SMS maneja el intento.

también he tratado de dar comienzo a la intención manualmente:

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

pero la respuesta que consigo es:

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 } 

Puede alguien decirme lo que estoy haciendo mal? Mi actividad principal (iniciador) funciona bien, así que supongo que no hay ningún problema con la instalación en el emulador.

Respuesta

17

¡Vaya!

Resulta que tuve el paquete instalado inicialmente, pero en la reinstalación estaba fallando silenciosamente. Entre esas dos compilaciones, arreglé el manifiesto como se ve arriba: la versión instalada no tenía los filtros de intención especificados, lo que obviamente no funcionaría.

Supongo que voy a dejar esto aquí en caso de que alguien tenga la misma necesidad? ¿O debería simplemente eliminarlo?

+7

Digo, déjalo, porque acabo de encontrar lo que estaba buscando gracias a tu publicación. –

+3

También encontré esto y lo encontré útil, gracias. – ksclarke

+0

bueno, tu pregunta recibió 9 votos positivos, tu respuesta recibió 7 votos positivos y los comentarios anteriores obtuvieron 6 votos positivos. Creo que la gente ha hablado;) – ajacian81

Cuestiones relacionadas