2010-11-05 14 views
5

He consultado la documentación del filtro de intención y no puedo entender este filtro de intención específico.¿Qué es un filtro de intención que solo mostraría una aplicación en el menú Compartir al compartir una url?

Estoy buscando usar ACTION_SEND porque solo quiero que la aplicación se muestre en los menús "Compartir" en otras aplicaciones. Solo quiero aparecer en el menú Compartir si el texto del intento es una url. Por ejemplo, qué se comparte desde el menú Compartir del navegador Android. No quiero que la aplicación aparezca en el menú Compartir si solo es texto y no una url.

Lo que tengo hasta ahora es:

<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>  

Sin embargo, esto va a recibir cualquier texto, no sólo URLs.

Gracias

Respuesta

1

Puede crear IntentFilter objetos mediante programación, y ellos pueden filtrar en el esquema URI entre otras cosas ... mucho más control.

Pensé que crear subcláusulas IntentFilter le daría un evento más, pero hicieron todas las variaciones en "coincidencia" final por lo que no puede anularlas en una subclase. ¡Bah!

Eurika!

Puede especificar un "esquema" de datos en lugar de un tipo MIME. Solo solicite "http" y "https" (¿en filtros de intención separados?).

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

Gracias, echaré un vistazo a esto. Si lo creo programáticamente, ¿funcionará incluso cuando la aplicación no se esté ejecutando? – cottonBallPaws

+0

Miré a través de ese enlace y no estoy seguro de cómo funcionaría la subclase de IntentFilter. ¿Tiene algún enlace que dé algunos ejemplos? Gracias de nuevo. – cottonBallPaws

+0

En realidad, no tengo la más mínima idea ... y sin la capacidad de reescribir la "coincidencia", no estoy seguro de que tenga sentido hacerlo. Además, debe poder establecer todos los atributos disponibles a través del Manifiesto, por lo que no estoy tan seguro de que mi sugerencia sea tan útil. –

Cuestiones relacionadas