繁体   English   中英

无法在 Android 应用程序中使用 Desfire EV2 4k 卡读取整个 ID

[英]Can not read whole id with Desfire EV2 4k card in Android app

我正在尝试使用通过 uart 端口连接到 android 平板电脑之类的设备的自定义读卡器读取 Mifare Desfire EV2 卡的 ID。 从 android 手机获取的卡 ID 是:04:28:3E: 82:5F:6D:80但是从我的应用程序中的输入 stream 我得到:02:09:03: 80:03 :5f:82 :3A输入 stream 我以相反的顺序获得第二个 4 个字节的 id,但我需要获得整个 7 个字节。 前三个字节和后两个字节看起来像是读卡器添加的一些镇流器。 这是从串口输入 stream 读取的代码:

while (currentCoroutineContext().isActive) {

                val inputStream = serialPort?.inputStream
                inputStream?.let {
                    val buffer = ByteArray(512)
                    val size: Int = inputStream.read(buffer)
                    if (size > 0) {
                        val cardID = buffer.take(size).toByteArray()
                        emit(Result.Value(cardID)
                    }
                }
                delay(500)
            }

知道有什么问题吗?

在与制造商澄清后,读卡器是这样编程的,所以在应用程序端没有问题,没有硬件更新就无法获得整个卡ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM