Filtro de intenciones sólo para archivos
En nuestra aplicación, queremos que aparezca en el menú "Compartir a través de". Así que añadimos este filtro de intenciones a nuestra actividad:
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="application/*" /> <data android:mimeType="audio/*" /> <data android:mimeType="image/*" /> <data android:mimeType="text/*" /> <data android:mimeType="video/*" /> </intent-filter>
Funciona y nuestra aplicación aparece en el menú Compartir.
- Android: compartir de forma fiable una imagen de los activos a través de mensajería, G +, twitter, facebook?
- Android ¿Cómo enviar texto e imágenes o cualquier objeto con intención?
- Detectar el compartidor utilizado para compartir contenido
- Compartir Bitmap () en android para twitter, facebook, correo
- Intent.ACTION_SEND WhatsApp
Sin embargo, el filtro de intenciones no hace exactamente lo que queremos lograr:
- Queremos aparecer en el menú para todos los archivos, lo que hay tipo mime es
- Queremos aparecer sólo para archivos. Y hasta ahora, si el usuario quiere compartir un texto simple, ya que su tipo mime será texto / llano, nuestra aplicación aparecerá en el menú y no lo queremos.
¿Cuál sería el filtro de intenciones correcto para todos los archivos y sólo para los archivos?
Gracias por adelantado.
Intentamos agregar esquema = archivo y host = "" o "*" y no funciona, ya que muchas aplicaciones utilizan un esquema = contenido para compartir contenido basado en archivos.
- ¿Qué es un filtro de intenciones que solo mostraría una aplicación en el menú compartido al compartir una URL?
- Compartir enlace y texto con Android Facebook SDK 3.0
- Actividad Resultado en shareIntent
- El diálogo compartido no funciona
- Compartir archivo de imagen desde el directorio de caché Via Intent ~ android
- Propuesta de participación de Android para facebook- compartir texto y enlace
- ¿Cómo forzar Share Intent a abrir una aplicación específica?
- Android: obtener el tamaño de archivo de la imagen antes de compartirla (Intent.ACTION_SEND)
Queremos aparecer en el menú para todos los archivos, lo que hay tipo mime es
Intente un tipo MIME de */*
.
Queremos aparecer sólo para archivos. Y hasta ahora, si el usuario quiere compartir un texto simple, ya que su tipo mime será texto / llano, nuestra aplicación aparecerá en el menú y no lo queremos. Intentamos agregar esquema = archivo y host = "" o "*" y no funciona, ya que muchas aplicaciones utilizan un esquema = contenido para compartir contenido basado en archivos.
Luego tiene dos elementos <data>
, uno para un esquema de content
y otro para un esquema de file
.
<data android:mimeType="*/*" /> <data android:scheme="content" /> <data android:scheme="file" />
Sin embargo, tenga en cuenta que un esquema de content
no significa que es necesariamente un archivo.
- Si desea ser invocado para cualquier tipo de mime, no coloque un solo tipo de mina en el filtro
-
scheme="file"
es la respuesta a ejecutar sólo en los archivos. Ahora bien, si la aplicación de terceros pasan los datos comocontent
, entonces es (por defiinición) no un archivo más
- Cómo agregar animaciones personalizadas en Google Map V3 Marker cuando suelto cada marcador uno por uno?
- CREATE TABLE android_metadata falló al volver a abrir sqlcipher DB