2012-03-20 8 views
2

私はそこにwebviewを持つアンドロイドアプリケーションを持っています。
ウェブビューが特定のテキスト(例: NFC経由で別のNFCデバイスにURLを送信したいと考えています。
タイプ4のNFCタグにURLを送信できましたが、他のNFCデバイスに送信する方法を見つけることができないため、URLでブラウザが起動されます。
私は次のように
2つのNFCデバイス間でURLを送信

NdefRecord uriRecord = NdefRecord.createUri(url); 
NdefMessage message = new NdefMessage(new NdefRecord[] { 
      uriRecord    
}); 

NDEFを作成してから、私は(銀河ネクサスに)ICSでアプリを書いて送信しようとしています

ndef.writeNdefMessage(message); 

を書くためにこれを使用するために使用していました2.3.6で銀河s2へ。

何か助けとポインタがありがとうございます。

+0

galaxy s2にNFCチップがありますか? –

+0

はい、ギャラクシーs2のnfcタグを読み取ることができました – DaiLak

答えて

2

別の電話機にNDEFメッセージを送信するときは、Ndefなどのタグ読み取り/書き込みAPIは使用しません。代わりに、NDEFメッセージはNFCピアツーピア経由で配信されます。それを行う1つの方法は、中setNdefPushMessageCallbackを使用することで、あなたのActivityさんonCreate()

NfcAdapter nfc = NfcAdapter.getDefaultAdapter(this); 
    nfc.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() 
    { 
     /* 
     * (non-Javadoc) 
     * @see android.nfc.NfcAdapter.CreateNdefMessageCallback#createNdefMessage(android.nfc.NfcEvent) 
     */ 
     @Override 
     public NdefMessage createNdefMessage(NfcEvent event) 
     { 
      NdefRecord uriRecord = NdefRecord.createUri(Uri.encode("http://www.google.com/")); 
      return new NdefMessage(new NdefRecord[] { uriRecord }); 
     } 

    }, this, this); 

他のNFCデバイスが近くに来たときにコールバックが呼び出され、ピア・ツー・ピア接続が確立されます。コールバックは、送信するNDEFメッセージを作成します(あなたの場合は、Webビューに表示されるURLです)。

+0

ありがとう、それは動作します!私は、「接続」が銀河ネクサス4.04と銀河S2 2.36の間で不安定であることを発見しました。しかし、一般的に、私はURLを転送することができました。 – DaiLak

+0

NFCのアンテナが適切に整列するように、デバイスを互いに対して垂直に配置することでやや実験したいと思う。 –

+0

しかし、切断せずに複数のメッセージを送信するにはどうすればよいですか? – Pittfall

関連する問題