【问题标题】:Android NFC : SNEP protocol and P2P responseAndroid NFC:SNEP 协议和 P2P 响应
【发布时间】:2012-01-04 10:28:41
【问题描述】:

我正在尝试在两部 Android 手机之间实现 P2P 通信(其中一部最终将被独立设备取代)。我已经看到 Android 4 支持 NFC 论坛发布的 SNEP,应该可以在非 Android 设备上使用。

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

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

感谢您的帮助!!!

【问题讨论】:

    标签: android nfc nfc-p2p


    【解决方案1】:

    Android Beam 只是一个名称,没错。设备默认使用 SNEP,如果失败,它会尝试 NPP。您无法真正从接收设备向发送者发送响应。您只能使用回调来通知推送成功:

    http://developer.android.com/reference/android/nfc/NfcAdapter.OnNdefPushCompleteCallback.html

    【讨论】:

      【解决方案2】:

      ismb-snep-java's Google Code page 解释了使用 SNEP 协议进行通信和数据传输,我已经对其进行了测试,并且可以正常工作。在从 ACR 和 Android 搜索 PDF 之后,我相信您只需要花一些时间才能使其按照您想要的方式工作。

      【讨论】:

      • 我正在尝试发送 get snep 请求,但我不知道如何从 android 发送它。你知道吗?
      【解决方案3】:

      为了更清楚的解释:

      Android Beam 只是 NFC 的名称,还是通过 SNEP/NPP 运行的 Android 协议?如果是协议,没有Beam怎么做NFC P2P?

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

      如何设置SNEP的使用?

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

      连接初始化时如何向其他设备发送响应(收到第一条消息)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 2012-06-08
        • 1970-01-01
        • 2015-06-22
        • 1970-01-01
        • 2010-12-15
        相关资源
        最近更新 更多