2 votos

Abrir enlace de imagen desde etiqueta NFC

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

Hasta aquí todo bien.

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

Sin duda, tiene que haber alguna indicación para el usuario "¿Quieres guardar esa imagen" o algo así. Pero ¿cómo puedo lograr esto? ¿Cómo debo guardar el enlace de la imagen en la etiqueta NFC para que la imagen se abra en la galería en lugar del navegador?

2voto

rizzle Puntos 3127

No, no existe tal opción que puedas configurar en la etiqueta NFC para forzar a Android a almacenar inmediatamente la imagen o mostrarla en la aplicación de galería. La razón de esto es que solo almacenas una URL en la etiqueta. Antes de abrir realmente 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, simplemente se refieren a alguna ubicación de almacenamiento. En consecuencia, Android solo puede abrir una aplicación que esté registrada para esa URL (o URLs en general), que típicamente suele ser un navegador web.

Lo que podrías hacer:

  1. Si tienes control sobre el servidor, podrías intentar forzar la descarga de la imagen desde el servidor. Podrías hacer esto configurando una cabecera Content-Disposition cuando se solicite la imagen desde el servidor:

    Content-Disposition: attachment; filename="googlelogo_color_272x92dp.png"
  2. Si la imagen cabe en tu etiqueta emulada, podrías 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 deberían abrirse en la aplicación estándar de Etiquetas por defecto (ver ¿Cómo leer una etiqueta NFC sin una aplicación específica?). Sin embargo, nunca he probado qué tan bien funciona esto (o si la imagen se muestra en realidad). Ver Imagen en etiquetas NFC sobre cómo se puede crear un registro de tipo MIME de esta manera con código de Android.

0 votos

Gracias. Opté por la solución 1. La URL abre un sitio HTML que contiene la imagen. Luego, un javascript pregunta al usuario si desea guardar la imagen. Si el usuario confirma, la imagen se abrirá en la galería de imágenes.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X