【问题标题】:Different ID readings for NfcA type mifare cardNfcA 类型 mifare 卡的不同 ID 读数
【发布时间】:2016-07-26 21:49:46
【问题描述】:

我开发了一个 android 应用程序来使用 NFC 读卡器读取 mifare 卡。没有问题。应用程序工作正常。读取并显示mifare卡的ID值

我的电脑上也连接了一个读卡器设备(模拟键盘)

但读卡器和应用显示不同的 ID 读卡器说:0992194657 应用说:61B0233B

有什么转化之类的吗?

【问题讨论】:

  • 如果将 0992194567 转换为十六进制,则得到 0x3B23B061。你可以通过交换一些字节来找到你的应用程序的价值。我猜你需要弄清楚字节的正确顺序。

标签: android nfc mifare


【解决方案1】:

您应该如下将字节数组转换为十六进制字符串。

  public static String bytesToHex(byte[] bytes) {
    char[] hexChars = new char[bytes.length * 2];
    for (int j = 0; j < bytes.length; j++) {
        int v = bytes[j] & 0xFF;
        hexChars[j * 2] = hexArray[v >>> 4];
        hexChars[j * 2 + 1] = hexArray[v & 0x0F];
    }
    return new String(hexChars);
}

然后调用

Tag mTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);;
bytesToHex(mTag.getId())

科莱凝胶:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多