如何在安卓设备上使用NFC技术在两个设备之间传输数据?

5

你好,我正在使用Android开发一个简单的应用程序,使用NFC技术。NFC API可在Android 2.3.3及以上版本中使用。有文档和简单的演示代码可以实现与NFC标签启用的Android设备之间的通信。 我从以下链接中找到了示例代码。

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

我没有找到任何有用的代码来在两个安卓设备之间进行通信。请给我一些示例,说明我们如何在两个安卓设备之间进行点对点通信。

提前致谢。


我找不到那个链接的演示文稿? - Hans En
2个回答

10

很抱歉,我可能要让您失望了,目前两台Android设备之间的主动p2p通信是不可能的。虽然您可以使用p2p推送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 - NFC guy
感谢您回复我,@Kamen Goranchev。我还没有测试过代码示例,我将使用两部Nexus手机进行测试。谢谢。 - Raghu Mudem

5

这是可能的,因为 Android 4.x 版本提供了 Beam 服务。阅读更多


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接