我有一个带有webview的android应用程序。
当webview使用某些文本进入网址时,例如票,然后我想通过NFC将网址发送到另一个NFC设备
我能够将网址发送到4型NFC标签,但我无法找到如何将其发送到其他NFC设备,以便它将使用网址启动浏览器。
我只是使用以下内容来创建NDEF
NdefRecord uriRecord = NdefRecord.createUri(url);
NdefMessage message = new NdefMessage(new NdefRecord[] {
uriRecord
});
然后用它来写
ndef.writeNdefMessage(message);
我正在ICS中编写应用程序(在galaxy nexus上)并试图以2.3.6发送到星系s2。
任何帮助和指针都将受到赞赏。
答案 0 :(得分:2)
将NDEF消息发送到另一部手机时,不要使用标签读/写API,例如Ndef
。相反,您的NDEF消息是通过NFC点对点传递的。一种方法是在Activity
onCreate()
中使用setNdefPushMessageCallback
:
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消息(在您的情况下:webview中显示的URL)。