你如何检查Android设备是否支持SNEP或Android的Ndef推送协议?

时间:2013-03-12 01:13:01

标签: android nfc ndef nfc-p2p

您可以在Android documentation中找到这个:

  

为了使NDEF正常运行,其他NFC设备必须支持NFC论坛的SNEP(简单Ndef交换协议)或Android的“com.android.npp”(Ndef推送协议)。这在Gingerbread级别的NFC NFC设备上是可选的,但在冰淇淋三明治及其他地方必须使用SNEP。

您如何检查设备是否能够与其他设备通信NFC P2P ?因为我们试图测试各种样本的NFC P2P代码没有成功! (NFC标签运行正常)。

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

FYI设备 Sony Xperia Sole / Sola LG Optimus 4X HD 均相应更新了Android 4.0.4和4.0.3。

另请注意:开发适用于Gingerbread版本, Android API版本10

2 个答案:

答案 0 :(得分:0)

我不知道如何检查,但在我的记忆中,每个设备都使用Android> 4.0可以做SNEP。

根据经验,当两个设备都发出“NFC声音”时,它们就是在看到彼此的时候,但是初始化是一种情况,在这种情况下,数据不会被传输。你可以发布一些你测试过的代码样本吗?

请注意,我不是Android开发人员,但我已经使用过NFC协议,所以我的答案必须得到很好的解决。

答案 1 :(得分:0)

Per Android documentation

  

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

您可以使用API​​级别来检查:

if api level >= 14, it's SNEP;    
else if api level >= 9, it's NPP;     
else P2P not supported.