2012-01-04 61 views
6

我试图实现两个Android手机之间的P2P通信(其​​中一个最终将由独立设备取代)。我已经看到Android 4支持由NFC论坛发布的SNEP,并且应该可以在非Android设备上使用。Android NFC:SNEP协议和P2P响应

我遵循Google P2P教程(http://developer.android.com/guide/topics/nfc/nfc.html#p2p),我可以从一个电话向另一个发送一些信息,但我有几个问题:

  1. Android Beam只是NFC的名称,或者它是通过SNEP/NPP工作的Android协议?如果它是一个协议,那么如何做到没有Beam的NFC P2P?
  2. 如何设置使用SNEP?
  3. 如何在连接初始化时发送对其他设备的响应(收到第一条消息)?

谢谢你的帮助!

回答

0

ismb-snep-java's Google Code page说明使用SNEP协议通信和数据传输和我已经测试它和它的作品。在从ACR和Android搜索PDF文件之后,我相信你只需要做一些简单的工作就可以让它按照你的意愿工作。

+0

我想发送获取snep请求,但我无法弄清楚如何从android发送它。你知道这件事吗? – firegloves 2016-12-30 17:50:01

0

要给出一个更明确的解释:

Android Beam时只是一个名字为NFC,或者是一个Android协议工作在SNEP/NPP?如果它是一个协议,那么如何做到没有Beam的NFC P2P?

Android beam是Android OS的一项功能。它是SNEP/NPP之上的高级别NDEF消息交换机制。 目前,只能通过Android Beam访问点对点模式(在Android上),该模式不能用于双向通信。

如何设置使用SNEP?

如果你想在Android上使用SNEP,(我认为)唯一的方法是在ISO-DEP协议之上编程自己的SNEP实现。 由于SNEP在LLCP之上,您还需要创建自己的LLCP实施。这并不容易..

当连接初始化如何发送到其他设备的响应(第一消息中收到)

随着SNEP,你不能。正如@robertly所说,它只能创建一个回调消息。 如果您想要真正的双向通信,请使用读写器和卡模拟操作模式。