【发布时间】:2014-10-15 14:12:53
【问题描述】:
我们需要设计一个简单的应用程序,它必须驻留在带有 NFC 的 GSM 手机的 SIM 卡上,并且应该连接到 Android 手机应用程序。有没有人能提供这方面的链接? 到目前为止,我们已经在 Android 上安装了应用程序,但我们需要连接到 SIM 卡或手机上的 NFC。我们应该怎么做?提前感谢您的帮助。
【问题讨论】:
标签: java android nfc open-mobile-api secure-element
我们需要设计一个简单的应用程序,它必须驻留在带有 NFC 的 GSM 手机的 SIM 卡上,并且应该连接到 Android 手机应用程序。有没有人能提供这方面的链接? 到目前为止,我们已经在 Android 上安装了应用程序,但我们需要连接到 SIM 卡或手机上的 NFC。我们应该怎么做?提前感谢您的帮助。
【问题讨论】:
标签: java android nfc open-mobile-api secure-element
Open Mobile API 可能正是您想要的。 SEEK-for-Android 项目存在一个 Android 实现。但是,SEEK 目前并未集成到主线 Android (AOSP) 中,因此并非在所有设备上都可用。请注意,硬件和供应商特定的软件组件都需要支持与手机的 UICC 通信,因此您不能仅通过将 SEEK 与您自己的应用程序打包来添加支持。
【讨论】:
我们使用 ADPU(应用协议数据单元)完成 SIM 卡通信,它是十六进制数字序列。一个使用 HostApduService 与 SIM 通信:
https://developer.android.com/reference/android/nfc/cardemulation/HostApduService.html
SIM 卡上的应用程序通常是用 JavaCard(一种使用 Java 语法的操作系统)编写的,但它们只能由拥有 SIM 卡的网络运营商安装 - 安装应用程序比编写应用程序更难。
比尔。
【讨论】:
HostApduService 与 SIM 卡通信无关。 HostApduService 用于注册 Android 应用程序(不是 SIM 卡),以便通过 NFC 接口与读卡器硬件进行 APDU 通信(同样:不是 SIM 卡)。 OffHostApduService 用于注册 SIM/UICC 应用程序以通过 NFC 接口进行通信(但同样:不适用于 Android 应用程序和 SIM/UICC 上的应用程序之间的通信)。