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

问题描述:

你可以在里面的Android documentation找到这个:如何检查Android设备是否支持SNEP或Android的Ndef Push协议?

对于NDEF推到正常工作的其他NFC设备必须支持NFC论坛的SNEP(简单NDEF交换协议),或Android的“com.android.npp”(NDEF推送协议)。这在姜饼水平的Android NFC设备上是可选的,但SNEP在冰淇淋三明治及其他方面是强制性的。

您如何检查设备是否能够与其他设备通信NFC P2P?因为我们试图测试各种示例NFC P2P代码而没有成功! (NFC标签正在完美工作)。

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

FYI设备索尼XPERIA鞋底/索拉LG擎天柱4X HD都与Android版本4.0.4和4.0.3更新内容。

另请注意:开发是在姜饼版,Android API版本10

我不知道如何检查,但在我的记忆中,Android 4.0以上的每个设备都可以做SNEP。根据经验,当两个设备发出'NFC声音'时,就是当他们已经看到对方时,但初始化不正常,在这种情况下,数据不会被传输。你可以发布一些你已经测试过的代码示例吗?

请注意,我不是一个Android开发人员,但我已经在NFC的协议上工作过,所以我的回答必须谨慎行事。

Per Android documentation

正在接收数据横梁必须支持 com.android.npp NDEF推送协议或NFC论坛的SNEP(简单NDEF 交换协议)的NFC设备。 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. 
+0

谢谢!我会测试一下 – 2014-03-06 23:39:54