¿Qué filtros de intención debe cubrir mi aplicación para aparecer en el selector cuando solicita una imagen de una aplicación externa?
¿Cuáles son los posibles filtros de intenciones que necesito cubrir para asegurarme de que cualquier aplicación externa que solicite una imagen vea mi aplicación en la lista?
Para aclarar, quisiera que apareciera mi aplicación al hacer lo siguiente:
- Se pierden datos extra de la intención de Android
- Manejo de los intentos de descarga en mi aplicación
- Android devuelve datos a la actividad anterior
- Abrir un archivo seleccionado (imagen, pdf, ...) de forma programática de mi aplicación de Android?
- ¿Buscando intentos de búsqueda en el mercado?
Hasta ahora he cubierto:
<intent-filter> <action android:name="android.intent.action.PICK" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.GET_CONTENT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter>
Sin embargo, si usa la aplicación de Tumblr y presiona "Añadir foto", mi aplicación no aparece en el cuadro de diálogo del selector. ¿Qué filtro estoy perdiendo?
- No se ha encontrado actividad para manejar Intención
- Receptor de radiodifusión en fragmento no recibe intención de servicio
- Android contenido activitynotfoundexception no activity found to handle intent - al intentar ir a url
- ¿Cómo llamo a una intención en Retrofit Callback?
- Obtener Broadcast recibir cuando la tarjeta SD está desmontando android
- Diferencia entre putExtra () y setData ()
- Diferencia entre Intent.FLAG_ACTIVITY_CLEAR_TASK e Intent.FLAG_ACTIVITY_TASK_ON_HOME
- Propuesta de participación exitosa para android
Yo había cubierto los filtros de intención correctos, sin embargo la aplicación de Tumblr requiere la categoría OPENABLE, así que en lugar de los filtros que tenía ahora estoy utilizando:
<intent-filter> <action android:name="android.intent.action.PICK" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.GET_CONTENT" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.OPENABLE" /> <data android:mimeType="image/*" /> </intent-filter>
Sólo agregando la línea:
<category android:name="android.intent.category.OPENABLE" />
Algunas aplicaciones pueden especificar que la aplicación se abra y algunas aplicaciones ya han establecido las aplicaciones predeterminadas en Abrir.
La característica de recurso compartido utiliza el siguiente filtro de intenciones
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter>
Recuerde que esto no significa que una aplicación esté solicitando una foto pero que quiera enviarla en alguna parte.
Utilice este <intent-filter>
:
<intent-filter android:icon="@drawable/icon" android:label="Share to my app"> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter>