2012-04-09 2 views
28

自分の電話機に特別なNFCアプリを持たなくても、自分のネットワークのWi-Fi認証情報を共有するNFCタグを作成する方法を探しています電話で)。 NFC Tag Writer、WifiTap、NFC Task Launcher、NFCLabels.comのようなアプリやサービスを見てきましたが、それを好きなように見せてもらえるようにゲストの携帯端末にアプリを持っている必要があります私は1つのNFC対応電話しか利用できないため、テストすることはできません。アプリは形式でURIを処理し特別なアプリなしでNFCタグ経由でWifiの資格情報を共有

:私の最も近い手掛かりがWifiTapがあることを述べていることである

(...はい、私は何のために自分の脳をねじる、知っているが、一体、奇妙な行動は新しいものではありません)無線LANの:// [ネットワークSSID]/[| WPA | WEPオープン]これは実際には普遍的であるならば/ [ネットワークキー]

これは私が私が欲しいものを何ができることを意味しますが、私は持っていますこれについての確認は見つかりませんでした。だから、私は何をしたいのか、WifiTapの手がかりを持って正しい道を歩いているのだろうか?

答えて

11

このような状況には公式の標準があります。NFC Forum Connection Handover Technical Specificationです。ただし、これは現在Androidではサポートされていません。私は現在、専用のアプリの助けを借りずにNFCを使用してWiFi資格情報を転送する方法はないと思います。中のアプリのURL ACTION_NDEF_DISCOVEREDためとURIとして

  1. インテントフィルタ:このついて行くの

    一つの方法は、次のプロパティがあり、GoogleのPlayストアでアプリを作成(または見つける)ことですプレイストア。

  2. ACTION_NDEF_DISCOVEREDのためのインテントフィルタやタイプなど、いくつかの独自のタイプ(例えばMIMEタイプ)

その後、次のNDEFレコードを含むNDEFメッセージにタグを作成することができますプレイで

  1. SmartPosterレコードを店舗URIと説明テキスト(例:アプリ名など)
  2. WiFi資格情報を含む専用タイプの記録
  3. Android Application Record

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

+0

接続ハンドオーバの仕様は、短期間のピアツーピア接続ではありませんか。私の理解は、汎用ネットワーク構成プロトコルとしての役割を果たすのではなく、NFCだけでは実用的なメッセージよりも長いメッセージの送信を容易にすることを目的としています。私はAndroidがこれを実装することを期待しています。実際はそうです - http://androidxref.com/4.1.1/xref/packages/apps/Nfc/src/com/android/nfc/handover/HandoverManager.javaを参照してください。 –

+0

@ IanNi-Lewis仕様はあまり明確ではありませんが、私は言うでしょう。たとえば、セクション2.1の紹介を参照してください。結果の接続が持続する時間の長さについては言及していません。しかし、私はハンドオーバーセレクタがNFCフォーラムデバイスではなく、(NFC以外の)接続を設定するタグが代わりに使われる「静的ハンドオーバ」のケース(2.3節)を具体的に考えていました。あなたが参照しているコードでは、これは現在、 'parse()'関数内のBluetooth Audio接続に対してのみ実装されています。 –

+1

今日の状態は何ですか?ありがとうございます – igr

0

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

+4

私が言うことができる限り、その文字列のハンドラ(それはURIですか?)は、ZXingのBarcode Scannerであり、Android OSではありません。そうであれば、無関係のAndroidコンポーネントがそれを処理できると期待するのは不合理なようです。 –

2

実際にネットワークを標準化された方法でタグ付けするappを作成しました。問題は、Androidが現在ハンドオーバーレコードを認識せず、自動的に追加するという点です。そしておそらくそれはまあまあです。ネットワークを追加するだけではなく、ネットワークを追加するだけです。たとえば、タグの内容などの作曲者を確認することができます。

また、複数のネットワークをタグに書きたい場合は、(標準化されたレコードを使用して)正しい方法で行うにはスペースが足りないかもしれません。

1

私は棒の間違った端を持っているかもしれませんが、アプリケーションのnfcツールをプレイストアからダウンロードすると、wifiネットワークをdefult android 5.0.2でスキャンしたときにタグに書き込むことができます。ネクサス7 2013で、無線LAN接続を確認するメッセージボックスが表示されますが、これは常にバーが失敗しています

+3

はい、これは12年の古い質問です。 Lollipopでは、WIFI設定で暗号化されたネットワークを長押しして「NFCタグに書き込む」を選択できます。タグをスキャンすると、ネットワークに接続するとLollipopで自分のNexus 4と5が動作します。 – Alex

18

アレックスがコメントに書いたとおり、(Lollipopから)Wi-Fi認証情報を含むタグをAndroid Wi-Fi設定:ネットワークを長時間タップ→NFCタグに書き込みます。

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

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

+0

NFCタグに書き込むためにネットワークを長時間タップする場合は、NFCをオンにしてください。 –

関連する問題