5 votos

¿Qué sucede cuando toco una etiqueta NFC que contiene una URL?

No tengo un teléfono NFC para probarlo. Un colega insiste absolutamente en que si tocas una etiqueta NFC que almacena una URL, entonces esa URL se lanza automáticamente por el sistema operativo.

Eso no me parece correcto y la documentación para desarrolladores dice

La lectura de datos NDEF de una etiqueta NFC se maneja con el sistema de despacho de etiquetas, que analiza las etiquetas NFC descubiertas, categoriza adecuadamente los datos y comienza una aplicación que está interesada en los datos categorizados. Una aplicación que desea manejar la etiqueta NFC escaneada puede declarar un filtro de intención y solicitar el manejo de los datos.

Eso suena como lo que esperaba (¿un BroadcastReceiver - o posiblemente un listener?). ¿Puedo decirle categóricamente que está 100% equivocado?

La razón es que él quiere que le desarrolle un pequeño sistema y, aunque veo que necesito una aplicación Android mínima para escuchar un evento de toque NFC y luego lanzar el navegador, él insiste en que no se necesita ninguna aplicación y que cualquier dispositivo Android habilitado para NFC, recién salido de fábrica, al tocar una etiqueta NFC que contiene una URL, lanzará el navegador a esa URL.

3 votos

Acabo de probar uno fuera de la oficina y abrió el diálogo "Abrir enlace en" con Chrome/Internet/Dolphin como opciones. El teléfono ha sido restablecido a la configuración de fábrica hoy. Más allá de eso, no puedo decirte cómo debería funcionar, y qué cambios se han realizado en esto en diferentes versiones de Android. Lo probé en un Galaxy S4 GPE con Lollipop. ACTUALIZACIÓN: Alguien en la oficina lo probó en un HTC M7 justo ahora y se abrió en el navegador sin interacción, solo un navegador instalado.

1 votos

No puedo probarlo porque no tengo una etiqueta NFC que contenga una URL, pero según el comentario de RossC, creo que Android la recibe como una URL normal, y la maneja según su scheme de URI, de la misma manera que cuando un usuario hace clic en una URL en una aplicación nativa (no desde el navegador en sí). Sin embargo, esto es solo una suposición.

0 votos

@RossC gracias. ¿Puedes publicarlo como una respuesta, por favor?

4voto

RossC Puntos 3725

Al probarlo en dos dispositivos:

Galaxy S4 Edición Google Play: Lollipop 5.0, con varios navegadores. Una vez etiquetado, aparece la indicación para elegir mi navegador, y luego una vez elegido, se abre la URL en el navegador seleccionado. El dispositivo fue restablecido a los valores de fábrica esa mañana.

HTC M7: Stock 4.4 actualizado, sin restablecimiento realizado, un solo navegador. Se abrió directamente en el navegador.

0 votos

¡Gracias, Ross! Por favor, consulta mi pregunta de seguimiento android.stackexchange.com/questions/96564/…

3voto

Gable Raque Puntos 11

Las etiquetas NFC de 'Próximo autobús' en las paradas de autobús aquí en Londres intentan abrirse en un navegador - si solo tienes un navegador, genial, se abrirá automáticamente en ese... no es necesario permisos, iniciar sesión o una aplicación especial. Pero al igual que todo lo demás en tu teléfono si tienes múltiples opciones para navegador, lector, editor... etc., se abrirá un diálogo de 'acción completa' - y continuará este proceso - hasta que elijas uno como predeterminado.

2voto

PKMNCAPO Puntos 83

La URL se lanza utilizando el sistema de intenciones de Android.

Puedes registrar una aplicación para todas las URLs (como un navegador web) o solo para URLs específicas. Por ejemplo, puedes registrar http mybusticket.com/ticketid/* con tu aplicación de boleto de autobús y Android le preguntará al usuario qué aplicación desea lanzar (si hay varias que pueden manejar esa URL) cuando se escanea la etiqueta NFC.

La aplicación de Youtube hace esto, por ejemplo. Las etiquetas NFC se manejan de la misma manera en su mayoría.

https://developer.android.com/guide/topics/connectivity/nfc/nfc.html#dispatching http://developer.android.com/guide/components/intents-filters.html#Receiving

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