Compartir credenciales Wifi a través de la etiqueta NFC sin aplicaciones especiales


Estoy buscando una manera de crear una etiqueta NFC que comparta las credenciales wifi de mi red sin que mis invitados tengan que tener ninguna aplicación NFC especial en su teléfono (aparte de lo que viene con el teléfono). He estado mirando aplicaciones y servicios como NFC Tag Writer, WifiTap, NFC Task Launcher y NFCLabels.com, pero me parece que necesitaría tener las aplicaciones en el móvil invitado también para poder usarlo, pero no puedo probarlo ya que solo tengo un teléfono habilitado para NFC disponible. (Sí, lo sé, torcer mi cerebro para nada, pero diablos, el comportamiento extraño no es nada nuevo...)

Mi pista más cercana es que WifiTap afirma que:

La aplicación procesa los URI en el formato wifi: / /[network ssid]|[wep|wpa/open] / [network key]

Si esto es realmente universal, esto significaría que podría hacer lo que quiero, pero no he encontrado ninguna confirmación sobre esto. Entonces, ¿cómo podría hacerse lo que quiero y estoy en el camino correcto con la pista de ¿WifiTap?

Author: Christian L, 2012-04-10

5 answers

Existe un estándar oficial para este tipo de situaciones: Especificación Técnica de Transferencia de Conexión al Foro NFC. Sin embargo, esto actualmente no es compatible con Android. No creo que actualmente haya ninguna manera de transferir credenciales WiFi usando NFC sin la ayuda de una aplicación dedicada.

Una forma de hacerlo es crear (o encontrar) una aplicación en Google Play Store que tenga las siguientes propiedades:

  1. Filtro de Intent para ACTION_NDEF_DISCOVERED y como URI la URL de la aplicación en Play Store.
  2. Filtro de Intent para ACTION_NDEF_DISCOVERED y como tipo algún tipo propietario (por ejemplo, un tipo MIME)

Luego puede crear etiquetas con un mensaje NDEF que contenga los siguientes registros NDEF:

  1. Registro SmartPoster con URI Play Store y algún texto descriptivo (por ejemplo, nombre de la aplicación)
  2. Registro de tipo propietario que contiene las credenciales WiFi
  3. Registro de la aplicación Android para el app

El 3er registro se asegurará de que la aplicación adecuada siempre se iniciará o el usuario del dispositivo será redirigido a la Play Store para instalarlo. Esto solo funciona en ICS, sin embargo, pero el 1st record (combinado con el 1st intent filter) sirve el mismo propósito en Gingerbread.

 11
Author: NFC guy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-10 20:36:27

Como Alex escribió en un comentario, ahora puede (desde Lollipop) escribir una etiqueta que contenga credenciales de Wi-Fi directamente desde la configuración de Wi-Fi de Android: toque largo una red → Escribir en la etiqueta NFC.

Parece ser una etiqueta con formato NDEF con el tipo MIME application/vnd.wfa.wsc y un token "WPS NFC".

El código fuente relevante se puede encontrar en platform/packages/apps/Settings/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java.

 19
Author: Bruno Parmentier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-14 22:26:04

He creado una aplicación que en realidad escribe redes para etiquetar de una manera estandarizada - el problema es que Android no reconoce actualmente los registros de entrega y los agrega automáticamente. Y tal vez eso está bien - después de todo, hay más para agregar una red que simplemente agregar una red; por ejemplo, puede verificar el compositor del contenido de la etiqueta y así sucesivamente.

Además, si desea escribir más de una red en una etiqueta, es posible que simplemente no haya suficiente espacio para hacer de la manera correcta (usando registros estandarizados).

 2
Author: ThomasRS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-30 23:04:51

Puede que tenga el extremo equivocado del stick, pero con la aplicación herramientas nfc descargadas de la play store puede escribir una red wifi en una etiqueta que cuando se escanea con defult android 5.0.2. En un nexus 7 2013 abre un cuadro de mensaje pidiendo formulario de confirmaciónla conexión wifi, aunque esto siempre ha fallado bar o

 1
Author: grant page,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-15 11:29:28

Un URI de la forma WIFI:T:WPA;S:SSID;P:PASSPHRASE;; establecerá WiFi si se codifica a un código QR y se escanea; pero cuando se codifica a una etiqueta NFC no se reconoce como un URI. Esto me sugiere que la API NFC es deficiente en Android.

 0
Author: Angela Slaney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-24 21:58:57