如何在android中使用NFC在两个设备之间发送数据?

Posted

技术标签:

【中文标题】如何在android中使用NFC在两个设备之间发送数据?【英文标题】:How to send data between two devices using NFC in android? 【发布时间】:2012-03-14 05:16:54 【问题描述】:

您好,我正在 android 中使用 NFC 开发一个简单的应用程序。 NFC api 在 android 版本 2.3.3 及更高版本中可用。这是一个文档和简单的演示代码,用于与支持 NFC 的 android 设备和 NFC 标签进行通信。 我从下面的链接中找到了示例代码。

http://developer.android.com/resources/samples/NFCDemo/index.html

我没有找到任何有用的代码来在两个 android 设备之间进行通信。请给我一些例子,我们可以如何在两个 android 设备之间进行 p2p 通信。

提前致谢

【问题讨论】:

我找不到带有该链接的演示? 【参考方案1】:

抱歉,如果我不得不让您失望,但目前无法在 2 个 Android 设备之间进行主动 p2p 通信。虽然您可以使用 p2p 在 2 个设备之间推送 NDEF 消息。这按以下方式工作。其中一部手机注册要推送的 NDEF 消息,一旦另一部手机进入另一部手机的字段,该消息就会被交换。在 ICS 中,Beam UI 出现在发送手机上,要求用户确认发送消息。这一切看起来更像是一部手机模拟了一个标签,只是不同之处在于通信使用的是LLCP协议。

如果此行为对您的用例有益,您可以在此博客上找到如何使用实现此目的的良好说明:

http://www.jessechen.net/blog/how-to-nfc-on-the-android-platform/

并查看 NFCAdapter 文档(enableForegroundNdefPush 和 enableForegroundDispatch)

http://developer.android.com/reference/android/nfc/NfcAdapter.html#enableForegroundNdefPush%28android.app.Activity,%20android.nfc.NdefMessage%29

【讨论】:

上面的答案基本正确。两个补充:您可以在 2 个方向上进行(独立的)p2p 通信,enableForegroundNdefPush 现在已弃用;请使用setNdefPushMessage 感谢您回复我@Kamen Goranchev。我没有测试代码示例。我将用两部 nexus 手机进行测试。谢谢。【参考方案2】:

这可以从带有 Beam 服务的 Android 版本 4.x 开始。 Read more

【讨论】:

以上是关于如何在android中使用NFC在两个设备之间发送数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何打开android beam

Android API Guides---NFC Basics

如何在android中测量NFC RSSI?

如何在Android中测量NFC RSSI?

NFC开发(一)——HCE基于主机的卡模拟简述

如何使用蓝牙将设备与 nfc 芯片(twinlinx mymax nfc 芯片)连接