0

我尝试制作一个与非标准 ISO15693 (NFC-V) 标签通信的 Android 应用程序。

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

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

如何构造“标签”对象以使用 NfcV“收发器”?

或者:

有没有办法控制 NfcAdapter 以启用 ISO15693 (NfcV) 并收发原始命令?

4

1 回答 1

1

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

根据 ISO15693,对 Inventory 命令的支持是强制性的。所以我的结论是您的标签不符合 ISO15693 标准,很遗憾,Android NFC API 不支持此类标签。

于 2012-03-26T09:56:18.227 回答