processCommandApdu 方法中 HostApduService 的问题

Problems with HostApduService in processCommandApdu methods

我正在尝试 NFC reader 和 NFC Smarthphone 之间的问题(我正在使用基于主机的卡仿真)。问题是以下... 我的 android 应用程序能够接收到 select AID 的 APDU,并且我能够 return reader.

的结果

之后,我尝试向 reader 发送特定命令并获得响应。我在我的覆盖方法 processCommandApdu 中收到调用,当它 return 结果时,我在 onDeactivated 方法中收到一个事件,原因是 DEACTIVATION_LINK_LOSS (我的 phone 非常接近 reader).

你知道吗?

背景:命令总是由终端发起。您的 processCommandApdu() 方法可以接收终端发送的命令,然后以终端要求的格式发回响应。这取决于您正在创建的应用程序类型以及您用于开发的终端类型。

回答: [DEACTIVATION_LINK_LOSS] 当终端发送完命令并且设备与终端之间的 NFC 连接终止时发生。这与您的 phone 是否关闭无关,这仅与终端已完成其通信并且设备之间的连接不再存在的事实有关。

文档: https://developer.android.com/reference/android/nfc/cardemulation/HostApduService.html#DEACTIVATION_LINK_LOSS