Abrir enlace de imagen desde etiqueta NFC

Tengo una etiqueta NFC (FeliCa), donde almaceno una URL a una imagen. (algo así como https://www.google.de/images/branding/googlelogo/2x/googlelogo_color_272x92dp.pngpor ejemplo). Esta etiqueta es emulada por un lector NFC USB ACR1252U, pero para cualquier teléfono inteligente Android se comporta como cualquier etiqueta física real. Cuando me acerco a mi teléfono inteligente Android 4.4, a la etiqueta (emulada), abre automáticamente mi aplicación de navegador y busca el enlace de la imagen.

Hasta ahora, todo bien.

Sin embargo, mi objetivo es que el teléfono inteligente Android no abra la imagen en el navegador, sino que guarde la imagen en el almacenamiento y/o la muestre en la aplicación de galería de imágenes del teléfono Android. Quiero lograr esto, con el menor número de pasos posible.

Seguro que tiene que haber algún mensaje para el usuario "¿Quieres guardar esa imagen?" o algo así. Pero, ¿cómo puedo lograr esto? ¿Cómo tengo que almacenar el enlace de la imagen en la etiqueta nfc, que la imagen se abre en la galería en lugar del navegador?

Respuestas (1)

No, no existe tal opción que pueda configurar en la etiqueta NFC para obligar a Android a almacenar inmediatamente la imagen o mostrarla en la aplicación de la galería. La razón de esto es que solo almacena una URL en la etiqueta. Antes de abrir la URL, Android ni siquiera conoce el tipo de datos detrás de la URL (es decir, "esto es una imagen"). De hecho, las URL no tienen ese concepto de tipo de datos, solo se refieren a alguna ubicación de almacenamiento. En consecuencia, Android solo puede abrir una aplicación que esté registrada para esa URL (o URL en general), que suele ser un navegador web.

Lo que podrías hacer:

  1. Si tiene control sobre el lado del servidor, es posible que desee intentar forzar la descarga de la imagen desde el servidor. Puede hacer esto configurando un encabezado de Disposición de contenido cuando se solicita la imagen desde el servidor:

    Content-Disposition: attachment; filename="googlelogo_color_272x92dp.png"
    
  2. Si la imagen se ajusta a su etiqueta emulada, puede intentar incrustarla en un registro de tipo MIME en lugar de pasar una URL a la imagen. En muchos dispositivos Android, los registros de tipo MIME de imagen deben abrirse en la aplicación Etiquetas estándar de forma predeterminada (consulte ¿Leer etiquetas NFC sin una aplicación específica? ). Sin embargo, nunca he probado qué tan bien funciona esto (o si la imagen se muestra realmente). Consulte Imagen en etiquetas nfc sobre cómo se podría crear dicho registro de tipo MIME con código de Android.

Gracias. Busqué la solución 1. La URL abre un sitio HTML que contiene la imagen. Un javascript que le pide al usuario que guarde la imagen. Si el usuario lo confirma, la imagen se abrirá en la galería de imágenes.