我已经开始了一个项目,我必须使用 APDU 接口或 OTA 接口发送命令,从我的 Android 项目到手机 SIM 上的 JavaCard 小程序。我有 AID 和一些突击队员来开始测试 Android 应用程序,但我不知道如何选择卡上的小程序,也不知道如何在 Android 上发送命令。
通过搜索我发现了这个Seek for Android。但我读到我需要获取 Android 操作系统并使用此 api 构建它并将其推送到设备。这是否会使我的应用程序无法在没有此“自定义”Android 操作系统的设备上运行?
是否有任何 Android 或 java 库允许我与小程序通信,从而允许我的应用程序在不构建“黑客”Android 操作系统的情况下可用?还是我对 Seek for Android 的工作原理有误?
感谢您提供任何可能的帮助。在过去的三天里,我一直在为此感到头疼。
据我所知,Android 上的常规应用程序无法与 SIM 卡通信。这是事实,在非自定义 Android 构建上无法规避。
只有像SIM-Toolkit-App这样的系统应用程序才能使用无线电接口层 (RIL) 与 SIM 卡进行通信。但这个接口可能会被限制到 SIM-Toolkit 的使用(尚未检查)。
唯一的选择是使用“非标准智能卡”,例如集成在 SD 卡或外部 NFC 卡中的智能卡。
使用 Android 5.0 中的新 API 你可以做到。 当然,您的应用程序需要特殊权限。将您的应用程序安装为系统应用程序以获得
MODIFY_PHONE_STATE
权限,或者按照 GlobalPlatform 中的定义在 UICC 中安装 ARA-M 小程序以获得运营商权限
通过某种破解是可能的。 在 SMS 管理器类中,有用于更新 SMS 记录的私有方法,这些方法可通过 Java Reflections 访问。 如果您更新 EF SMS OTA 编码,SIM 将像 OTA 更新一样对此进行解释。 如果 SIM 卡上的 Applet 可以通过 OTA 的 TAR 进行访问,那么也可以通过 Android-SMS 更新进行访问。
我遇到智能SIM卡注册错误,请提供完整的指南。