Compartir credenciales Wifi a través de etiqueta NFC sin aplicaciones especiales
Estoy buscando una manera de crear una etiqueta NFC que comparte las credenciales wifi de mi red sin mis invitados tener que tener alguna aplicación especial NFC en su teléfono (que no sea lo que viene con el teléfono). He estado buscando en aplicaciones y servicios como NFC Tag Writer, WifiTap, NFC Task Launcher y NFCLabels.com, pero me parece que me gustaría tener las aplicaciones en el móvil de invitados, así para poder usarlo, Pero no puedo probarlo, ya que solo dispongo de un teléfono habilitado para NFC. (Sí, lo sé, retorciendo mis cerebros por nada, pero diablos, el comportamiento extraño no es nada nuevo …)
Mi pista más cercana es que WifiTap afirma que:
- Analizar todos los dispositivos wifi cerca del teléfono
- UDP Multicasting desde el móvil a la PC
- Cómo comprobar el Internet real conectado en android?
- Android: Detener / Iniciar servicio dependiendo del estado WiFi?
- Cómo obtener el estándar wifi
La aplicación procesa URIs en el formato de wifi: // [network ssid] / [wep | wpa | open] / [clave de red]
Si esto es realmente universal esto significaría que podría hacer lo que yo quiero, pero no he encontrado ninguna confirmación en esto. Entonces, ¿cómo podría lo que quiero que se haga y estoy en el camino correcto con la pista de WifiTap?
- Cómo obtener mi hotspot wifi ssid en mi sistema android actual
- Android móvil no detectar la red inalámbrica creada en mi portátil
- Escanear Wi-Fi de Android: Filtrar impresoras de ScanResult
- Android 6.0 No se puede agregar WifiConfiguration si ya hay otra WifiConfiguration para ese SSID
- Configuración de HTTP Proxy para redes WIFI en dispositivos Android 1.xy 2.x
- Escuchando en un puerto específico para los datos entrantes
- Connectify detiene la conexión a Internet después de algún tiempo
- ¿Cómo determinar un número de canal wifi utilizado por wifi ap / network?
Existe un estándar oficial para este tipo de situación: NFC Forum Connection Handover Technical Specification . Sin embargo, esto no es compatible actualmente con Android. No creo que actualmente haya ninguna forma de transferir credenciales WiFi usando NFC sin la ayuda de una aplicación dedicada.
Una manera de hacerlo es crear (o buscar) una aplicación en Google Play Store que tenga las siguientes propiedades:
- Filtro de intenciones para ACTION_NDEF_DISCOVERED y como URI la URL de la aplicación en Play Store.
- Filtro de intención para ACTION_NDEF_DISCOVERED y como tipo de algún tipo propietario (por ejemplo, un tipo MIME)
A continuación, puede crear etiquetas con un mensaje NDEF que contiene los siguientes registros NDEF:
- Registro SmartPoster con URI Play Store y algún texto descriptivo (por ejemplo, nombre de la aplicación)
- Registro de tipo propietario que contiene las credenciales WiFi
- Registro de aplicaciones de Android para la aplicación
El tercer registro se asegurará de que la aplicación correcta siempre se iniciará o el usuario del dispositivo será redirigido a Play Store para instalarlo. Esto funciona solamente en ICS, sin embargo, pero el primer registro (combinado con el filtro de la primera intención) sirve el mismo propósito en Gingerbread.
Como escribió Alex en un comentario, ahora (desde Lollipop) puede escribir una etiqueta que contenga credenciales de Wi-Fi directamente desde la configuración Wi-Fi de Android: toque una red → Escribir en 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 la platform/packages/apps/Settings/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java
.
He creado una aplicación que realmente escribe redes para etiquetar de una manera estandarizada – el problema es que Android no reconoce los registros de traspaso y automágicamente añadirlos. Y tal vez eso está bien – después de todo hay más a la adición de una red que sólo añadir una red; Por ejemplo, puede comprobar 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 no tenga suficiente espacio para hacerlo de la manera correcta (utilizando registros estandarizados).
Puedo tener el extremo equivocado del palillo pero con las herramientas de la aplicación nfc descargadas de la tienda de juego se puede escribir una red wifi en una etiqueta que cuando se escanea con descargo de Android 5.0.2. En un nexus 7 2013 se abre un cuadro de mensaje preguntando la forma de confirmación de la conexión wifi, aunque esto siempre ha fallado bar o
Un URI de la forma WIFI: T: WPA; S: SSID; P: PASSPHRASE ;; Establecerá WiFi si está codificado con un código QR y escaneado; Pero cuando se codifica a una etiqueta NFC no se reconoce como URI. Esto me sugiere que la API NFC es deficiente en Android.
- Cómo dar valores de porcentaje en ObjectAnimator en Android
- Android – no puede capturar el espacio atrás / borrar la prensa en suave. teclado