【发布时间】:2018-10-18 01:03:42
【问题描述】:
我正在尝试创建一个 Android 应用来使用 NFC 阅读器读取一些 RFID 卡。
当我在我的 PC 上读取 RFID 芯片时,读卡器会返回卡的 ID 3853004524。当我尝试使用我的应用读取同一张卡片时,我得到了不同的 ID (23646168229)。
在我的应用程序中,我使用额外的意图NfcAdapter.EXTRA_ID 来获取卡的 ID。我使用以下方法将该字节数组转换为字符串:
private String byteArrayToDecimal(byte[] barray) {
String result="";
for (byte b : barray) {
result = result + (b & 0xff);
}
return result;
}
protected void onNewIntent(Intent intent) {
if (intent.getAction().equals(NfcAdapter.ACTION_TAG_DISCOVERED)) {
Toast.makeText(G.context,"NFC Tag\n" +
byteArrayToDecimal(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)),Toast.LENGTH_LONG).show();//ByteArrayToDecString
}
}
为什么我会为同一张卡获得两个不同的 ID?如何获得与通过应用在 PC 上获得的 ID 相同的 ID?
【问题讨论】:
-
你得到的两个值是什么?
-
我从 FRID 设备得到 3853004524
-
当我从我的应用程序中使用此代码时得到 23646168229
标签: android nfc number-formatting rfid serial-number