2012-05-31 105 views
1

我正在使用NEXSUS-S_4.0.4,需要读取typeB(ISO 14443)卡的数据并显示卡上存储的一些信息。但是我的卡是未在我的应用程序或从android市场下载的任何其他应用程序(如:恩智浦的NFC标签信息)中检测到。所有其他卡工作正常..NFC typeb卡没有被任何NFC应用检测到(例如:nfctaginfo)

我感谢你在前进,问候

回答

2

这可能仅仅是其可能无法为你想读取标签良好的调谐天线。 (ISO14443-B并不常见...)

要确定它不是软件问题,您可以尝试更换天线。要做到这一点:

  • 删除Nexus-S的封底。你应该看到天线和NFC呆板的联系人。

  • 取一块大约25厘米长的隔离电线。制作两个绕组,直径约4至6厘米,并将其连接至天线引脚。

  • 尝试阅读您的B标签。手机现在应该可以通过IsoDep检测标签和IO。

这种即兴天线将很可能比工作更好地内置之一,因为内置的一个非常接近其降低天线性能的其他金属部件。

+0

btw:我知道Nexus-S可以通过上面的黑客来读取Type-B,因为我已经完成了这项工作。您将无法通过android.nfc.tech.NfcB连接到标签,因为目前尚不支持此标签。 IsoDep otoh的作品。 –

+0

感谢这个黑客..我会尝试它。 – Alice

+0

你好Nils Pipenbrinck它的工作!!!!!非常感谢。在Android SDK/NDK中是否有任何范围可以管理NFC天线电源,以便可以检测到TypeB卡... – Alice

0

要正确执行B型标记上的防冲突,您需要提供AFI(或称为AID)。它是一个单字节,用于定义您正在寻找的应用程序族。没有标签不会回应。

不可否认,我不太了解Android NFC库,但可能在尝试检测/读取标签时可能会指定此方法。 Android 4.4有一些叫做reader-mode的东西,也许可以将它放到给定AFI的Type-B轮询模式中。