Подтвердить что ты не робот

Делитесь учетными данными Wifi через тег NFC без специальных приложений

Я ищу способ создания тега NFC, который разделяет учетные данные wifi моей сети, без того, чтобы мои гости не имели каких-либо специальных приложений NFC на своем телефоне (кроме тех, что поступают с телефоном). Я рассматривал приложения и службы, такие как NFC Tag Writer, WifiTap, NFC Task Launcher и NFCLabels.com, но мне кажется, что мне нужно будет иметь приложения на гостевом мобильном телефоне, чтобы иметь возможность использовать его, но я не могу проверить его, поскольку у меня есть только один доступный для NFC телефон. (Да, я знаю, закручиваю свои мозги ни за что, но черт, странное поведение ничего нового...)

Моя ближайшая подсказка заключается в том, что WifiTap утверждает, что:

Приложение обрабатывает URI в формате wifi://[network ssid]/[wep | wpa | open]/[сетевой ключ]

Если это действительно универсально, это будет означать, что я мог бы делать то, что хочу, но я не нашел подтверждения. Итак, как я мог сделать то, что хочу, и правильно ли я нахожусь на верном пути с помощью WifiTap?

4b9b3361

Ответ 1

Существует официальный стандарт для такого рода ситуаций: Техническая спецификация передачи соединений NFC Forum. Однако в настоящее время это не поддерживается Android. Я не думаю, что в настоящее время существует какой-либо способ переноса учетных данных WiFi с помощью NFC без помощи специального приложения.

Один из способов сделать это - создать (или найти) приложение в Google Play Store, имеющее следующие свойства:

  • Фильтр Intent для ACTION_NDEF_DISCOVERED и как URI URL-адрес приложения в Play Маркете.
  • Фильтр Intent для ACTION_NDEF_DISCOVERED и как тип некоторого запатентованного типа (например, тип MIME)

Затем вы можете создавать теги с сообщением NDEF, содержащим следующие записи NDEF:

  • Запись SmartPoster с URI Play Store и некоторый описательный текст (например, название приложения)
  • Запись проприетарного типа, содержащего учетные данные Wi-Fi
  • Запись приложения Android для приложения

В третьей записи убедитесь, что соответствующее приложение всегда будет запущено, или пользователь устройства будет перенаправлен в Play Store для его установки. Однако это работает только на ICS, но первая запись (в сочетании с фильтром 1-го намерения) служит для Gingerbread той же цели.

Ответ 2

Как написал Алекс в комментарии, вы можете теперь (начиная с Lollipop) записать тег, содержащий учетные данные Wi-Fi, непосредственно из настроек Android Wi-Fi: долгое нажатие на сеть → Write to NFC tag.

Кажется, что это тег в формате NDEF с типом application/vnd.wfa.wsc MIME и маркером WPS NFC.

Соответствующий исходный код можно найти в platform/packages/apps/Settings/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java.

Ответ 3

Я создал app, который фактически пишет сети для стандартного тэга - проблема в том, что Android в настоящее время не распознает записи передачи и автоматически добавлять их. И, может быть, все в порядке - в конце концов, есть больше для добавления сети, чем просто добавления сети; вы можете, например, проверить композитор содержимого тега и т.д.

Кроме того, если вы хотите записать несколько тегов в одну сеть, просто не хватит места, чтобы сделать это справа (используя стандартизованные записи).

Ответ 4

У меня может быть неправильный конец палки, но с помощью приложений nfc, загруженных из магазина воспроизведения, вы можете написать сеть Wi-Fi на тег, который при сканировании с defult android 5.0.2. На схеме 7 2013 открывается окно с запросом подтверждения о соединении Wi-Fi, хотя это всегда было неудачно. O

Ответ 5

URI формы WIFI: T: WPA; S: SSID; P: PASSPHRASE;; будет устанавливать Wi-Fi, если кодируется QR-кодом и сканируется; но при кодировании в тег NFC он не распознается как URI. Это говорит мне о том, что API NFC недостаточно для Android.