android - ruleta - sortea2
¿Qué filtros de intención debe cubrir mi aplicación para que aparezcan en el selector al solicitar una imagen de una aplicación externa? (4)
Algunas aplicaciones pueden especificar la aplicación para abrir, y algunas aplicaciones ya han configurado las aplicaciones predeterminadas para Abrir.
¿Cuál es el posible filtro de intención que necesito cubrir para asegurarme de que cualquier aplicación externa que solicite una imagen vea mi aplicación en la lista?
Para aclarar, me gustaría que mi aplicación aparezca cuando haga lo siguiente:
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 utiliza la aplicación Tumblr y presiona "Agregar foto", mi aplicación no aparece en el cuadro de diálogo del selector. ¿Qué filtro me estoy perdiendo?
La función de compartir usa el siguiente filtro de intención
<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 desea enviarla a 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>
Cubrí los filtros de intención correctos, sin embargo, la aplicación Tumblr requiere la categoría ABRIR, así que en lugar de los filtros que tenía, ahora los estoy usando:
<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>
Solo agregando la línea:
<category android:name="android.intent.category.OPENABLE" />