3

谁能告诉我这个功能背后的“科学”

 `IsoDep.get(tag)` 

因为它返回null甚至标签被正确读取。我在 Eclipse 中运行 android 应用程序。

4

2 回答 2

0

执行以下程序。

1) 获取 NFC 技术标签,即使用 tag.getTechList() 方法并不难找到。

2)假设设备仅支持一种技术标签,如 NfcF

3)然后使用 android 类的 NfcF 如下所示

   NfcF mifare = NfcF.get(tag);
        try {
            mifare.connect();
            if(mifare.isConnected()){
                byte[] historicalData=mifare.getManufacturer();
                return new String(historicalData, Charset.forName("US-ASCII"));
            }

        } catch (IOException e) {
            Log.e("Deepak", "IOException while writing MifareUltralight message...", e);
        } 

希望它会帮助你。:)

享受编码...

于 2012-10-25T10:30:38.353 回答
-1

如果您查看文档

  • 如果在 getTechList() 中未枚举 IsoDep,则返回 null。这表明标签不支持 ISO-DEP。

您正在读取的 NFC 标签似乎不支持 IsoDep。

要找出支持的内容,请使用此方法。

private static String debugTag(Tag tag)
{
    String str = "=== DEBUG TAG ===";
    for (String techListItem : tag.getTechList())
    {
        str += "\n" + techListItem;
    }

    return str;
}
于 2012-07-05T00:56:48.323 回答