6

您可以在 Android文档中找到它:

要使 NDEF 推送正常运行,其他 NFC 设备必须支持 NFC 论坛的 SNEP(简单 Ndef 交换协议)或 Android 的“com.android.npp”(Ndef 推送协议)。这在 Gingerbread 级别的 Android NFC 设备上是可选的,但 SNEP 在 Ice-Cream-Sandwich 及其他设备上是强制性的。

您如何检查设备是否能够与其他设备进行 NFC P2P 通信?因为我们尝试测试了各种示例 NFC P2P 代码,但均未成功!(NFC 标签运行良好)。

目前发生的情况是,这两款设备都会发出熟悉的 NFC 嗡嗡声,但似乎没有数据交换。

仅供参考的设备是Sony Xperia Sole/SolaLG Optimus 4X HD,它们都相应地更新了 Android 版本 4.0.4 和 4.0.3。

另请注意:开发是在 Gingerbread 版本,Android API 版本 10上。

4

2 回答 2

0

我不知道如何检查,但在我的记忆中,每台 Android > 4.0 的设备都可以执行 SNEP。

根据经验,当两个设备都发出“NFC 声音”时,就是他们已经看到对方了,但是初始化不正确,在这种情况下,数据没有传输。您可以发布一些您已经测试过的代码示例吗?

请注意,我不是安卓开发者,但我研究过 NFC 的协议,所以我的回答必须谨慎。

于 2013-10-31T08:22:11.823 回答
0

根据 Android 文档

接收传送数据的 NFC 设备必须支持 com.android.npp NDEF 推送协议或 NFC 论坛的 SNEP(简单 NDEF 交换协议)。API 级别 9 (Android 2.3) 到 API 级别 13 (Android 3.2) 的设备需要 com.android.npp 协议。API 级别 14 (Android 4.0) 及更高版本都需要 com.android.npp 和 SNEP。

您可以使用 API 级别检查:

if api level >= 14, it's SNEP;    
else if api level >= 9, it's NPP;     
else P2P not supported.
于 2014-03-06T23:35:26.643 回答