2012-03-26 143 views
0

我尝试制作与非标准ISO15693(NFC-V)标签进行通信的Android应用程序。没有发现NFC标签

该标签是非标准的,因为它没有实施ISO“库存”命令。 但其他命令可以与NfcV“收发”一起使用。 Android 4.0.1不会自动发现此标记,也不会将意图(在其有效内容中带有“标记”对象)发送到我的应用程序。这不是问题 - 我知道标签在那里,我可以“手动”地启动应用程序。

我的问题是我需要一个“标签”对象来使用“收发”方法进行通信。这个“标签”对象通常由操作系统生成。为了创建我自己的“Tag”对象,我需要一个“serviceHandle”(整数,可能类似于文件句柄)和一个“tagService”(是指向设备驱动程序或操作系统函数的链接?)。我找不到一个方法来获得这些成员!我的问题是:

如何构建一个“标签”对象来使用NfcV“收发”?

或者:

是否有一种方式来获得控制权NfcAdapter使ISO15693(NfcV)和收发原始命令?

回答

1

要发现NfcV标签,Android设备中的NFC芯片将发送ISO15693库存命令。当标签对此作出响应时,NFC软件堆栈将为该标签创建一个句柄,Android中的NFC服务会使用该句柄创建一个Tag对象。因此,如果没有NFC软件堆栈已知的实际标签,则无法创建Tag对象。

根据ISO15693,对库存命令的支持是强制性的。所以我的结论是,你的标签不符合ISO15693标准,不幸的是Android NFC API不支持这种标签。

+0

非常感谢您的回答! – 2012-03-27 12:06:32