web-dev-qa-db-ja.com

NFC特別なアプリなしのタグを介してWifi認証情報を共有する

私は、ゲストが特別なNFC携帯電話に付属しているもの以外のアプリを必要とせずに、ネットワークのwifi資格情報を共有するNFCタグを作成する方法を探しています。 )。私はNFC Tag Writer、WifiTap、NFC Task LauncherとNFCLabels.comのようなアプリとサービスを見てきましたが、それが好きなようですゲストモバイルにもアプリを使用する必要がありますが、NFC対応の携帯電話は1台しか使用できないため、テストすることはできません(はい、私は頭をひねって何もしません) 、しかし、一体、奇妙な振る舞いは新しいものではありません...)

私の最も近い手がかりは、WifiTapが次のように述べていることです:

アプリは、wifi:// [network ssid]/[wep | wpa | open]/[network key]の形式でURIを処理します

これが実際に普遍的である場合、これは、私がやりたいことをすることができることを意味しますが、これに関する確認は見つかりませんでした。だから、どうすれば私がしたいことができ、WifiTapからの手がかりで正しい軌道に乗っていますか?

30
Christian L

この種の状況には公式の標準があります: NFC Forum Connection Handover Technical Specification 。ただし、これは現在Androidではサポートされていません。現在、専用アプリの助けなしにNFCを使用してWiFi認証情報を転送する方法はないと思います。

これを行う1つの方法は、次のプロパティを持つアプリをGoogle Playストアで作成(または検索)することです。

  1. ACTION_NDEF_DISCOVEREDのインテントフィルターと、PlayストアのアプリのURLとしてのURI。
  2. ACTION_NDEF_DISCOVEREDのインテントフィルターであり、タイプとして独自のタイプ(MIMEタイプなど)

次に、次のNDEFレコードを含むNDEFメッセージでタグを作成できます。

  1. PlayストアURIと説明テキスト(アプリの名前など)を含むSmartPosterレコード
  2. WiFi資格情報を含む独自のタイプの記録
  3. Android Application Record アプリの場合

3番目のレコードにより、適切なアプリが常に開始されるか、デバイスユーザーがPlayストアにリダイレクトされてインストールされます。ただし、これはICSでのみ機能しますが、1番目のレコード(1番目のインテントフィルターと組み合わせた)は、Gingerbreadでも同じ目的を果たします。

11
NFC guy

Alexがコメントで書いたように、(Lollipop以降)Android Wi-Fi設定:ネットワークをロングタップ→NFC tag)に書き込みます。

application/vnd.wfa.wsc MIMEタイプと「WPS NFC」トークンを持つNDEF形式のタグのようです。

関連するソースコードは platform/packages/apps/Settings/src/com/Android/settings/wifi/WriteWifiConfigToNfcDialog.Java にあります。

22

実際に標準化された方法でタグにネットワークを書き込む app を作成しました-問題はAndroidは現在、ハンドオーバーレコードを認識せず、自動的にそれらを追加します。そして、それは大丈夫です-結局、ネットワークを追加するだけでなく、ネットワークを追加するだけではありません;例えば、タグの内容のcomposerなどを確認するかもしれません。

また、1つのタグに複数のネットワークを書き込みたい場合、正しい方法(標準化されたレコードを使用)でそれを行うための十分なスペースがない可能性があります。

2
ThomasRS

私はスティックの間違った端を持っているかもしれませんが、Playストアからダウンロードされたアプリnfcツールを使用すると、defult Android 5.0.2。ネクサス7 2013は、wifi接続から確認を求めるメッセージボックスを開きますが、これは常に失敗しています

1
grant page

WIFI:T:WPA; S:SSID; P:PASSPHRASE ;;の形式のURI QRコードにエンコードされてスキャンされた場合にWiFiを設定します。ただし、NFCタグにエンコードされると、URIとして認識されません。これは、AndroidでNFC APIが不足していることを示唆しています。

0
Angela Slaney