android 中的 HCE 与 SecureElement 路由

HCE vs SecureElement routing in android

我正在开发连接 SecureElement 和 HCE (HostCardEmulation) 功能并处理来自外部源的 APDU 命令的应用程序。

根据 SecureElement 的可用性,我想决定是否所有 APDU 都从 NfcController 处理到 SecureElement(如果存在 SecureElement,则为默认选项),如果不存在,我希望 HCE 负责 APDU 处理。

这是我的问题,这种情况可能吗?

根据https://developer.android.com/guide/topics/connectivity/nfc/hce.html 我认为只有当 SecureElement 和 HCE 的辅助工具不同时才有可能。否则,如果屏幕打开,我将不得不自己选择使用哪个服务(HostApduService 或 OffHostApduService),或者如果屏幕关闭,android 将使用前台服务处理 APDU。

如果两个频道的 AID 相同怎么办?有人遇到过这种情况吗?

我最终使用了动态辅助注册 -> https://developer.android.com/reference/android/nfc/cardemulation/CardEmulation.html#registerAidsForService(android.content.ComponentName,%20java.lang.String,%20java.util.List)

所以我可以决定在运行时使用哪个控制器。