HostApduService (NFC) 中的 Android 多线程
Posted
技术标签:
【中文标题】HostApduService (NFC) 中的 Android 多线程【英文标题】:Android multithreading in HostApduService (NFC) 【发布时间】:2015-07-09 09:59:12 【问题描述】:我使用HostApduService
子类中的processCommandApdu()
方法对NFC 命令做出反应。此方法在 android 主线程上调用。这些命令应按顺序通过 NFC 通道进行处理和发送。因此,我想同步处理它们。
有没有什么好的方法可以强制执行顺序而不阻塞processCommandApdu()
方法?
【问题讨论】:
【参考方案1】:您无需同步命令处理。排序是 ISO/IEC 14443 协议所固有的:命令交换总是由读卡器发送到卡(HCE 设备)的命令和卡 (HCE) 设备发送到读卡器的响应组成。在收到对前一个命令的响应之前,阅读器不会发出新命令。如果在读卡器收到响应之前命令超时,读卡器会将此解释为与卡的连接丢失。
因此,除非阅读器重置/断开连接,否则在您发送对前一个命令的响应(通过从 processCommandApdu()
返回 no-null 或通过调用 sendResponseApdu()
)之前,您不会收到新命令) .
【讨论】:
以上是关于HostApduService (NFC) 中的 Android 多线程的主要内容,如果未能解决你的问题,请参考以下文章