我正在尝试在两部Android手机之间实现P2P通信(其中一部手机最终会被独立设备取代)。我已经看到Android 4支持由NFC论坛发布的SNEP,应该可以在非Android设备上使用。
我已经关注了NFC P2P的Google教程(http://developer.android.com/guide/topics/nfc/nfc.html#p2p),我可以从一部手机向另一部手机发送一些信息,但我有几个问题:
感谢您的帮助!!!
答案 0 :(得分:2)
Android Beam只是一个名字,对。设备默认使用SNEP,如果失败,则尝试NPP。您无法真正从接收设备向发件人发送响应。您只能使用回调来获得成功推送的通知:
http://developer.android.com/reference/android/nfc/NfcAdapter.OnNdefPushCompleteCallback.html
答案 1 :(得分:0)
ismb-snep-java's Google Code page解释了使用SNEP协议的通信和数据传输,我已对其进行了测试,但它确实有效。在从ACR和Android搜索PDF后,我相信你只需要做一些调整就可以按照你想要的方式工作。
答案 2 :(得分:0)
要给出更明确的解释:
Android Beam只是NFC的名称,还是在SNEP / NPP上运行的Android协议?如果它是一个协议,如何在没有Beam的情况下进行NFC P2P?
Android beam是Android OS的一项功能。它是SNEP / NPP之上的高级NDEF消息交换机制。 目前,点对点模式(在Android上)只能通过Android Beam访问,而不能用于双向通信。
如何设置SNEP的使用?
如果您想在Android上使用SNEP,(我认为)唯一的方法是在ISO-DEP协议之上编写您自己的SNEP实现。 因为SNEP位于LLCP之上,您还需要创建自己的LLCP实现。那不容易..
初始化连接时如何向其他设备发送响应(收到第一封邮件)
使用SNEP,你不能。正如@robertly所说,它只能创建一个回调消息。 如果您想要真正的双向通信,请使用读写器和卡仿真操作模式。