我正在尝试开发一个与SIM卡通信的Android应用程序(Android 5.1.1)。 当使用一些方法(例如:iccOpenLogicalChannel)时,他们在文档中说我应该有运营商权限应用程序来使用这种方法,我想知道他们究竟是什么意思? 愿有人告诉我如何获得"运营商特权" ?
答案 0 :(得分:3)
5.1.1中有新的API允许通过Google Play分发的运营商开发的应用程序在电话系统中执行网络配置任务和其他功能。现在可以通过具有“运营商权限”的应用程序直接与网络接口进行通信。
Google解释道:
这些API为运营商开发提供了一种安全而灵活的方式 应用程序执行这些任务并通过Google Play分发。 使用这些功能的应用必须使用证书进行签名 匹配设备的通用集成电路中的证书 卡(UICC)。运营商服务API已添加到TelephonyManager类,SmsManager类和新的CarrierMessagingService类中。 应用可以通过调用hasCarrierPrivileges()方法来检查对这些API的访问权限。无需访问权限调用这些API的应用程序会收到SecurityException。
到目前为止,据我所知,运营商权限由运营商设置,如果没有运营商的认证,您将无法访问这些方法。
来源:https://developer.android.com/about/versions/android-5.1.html
答案 1 :(得分:2)
简而言之,您无法获得与UICC / SIM上的证书相匹配的证书。有一些方法可以与运营商合作构建应用程序。如果您有兴趣,请随时与我联系,我可以指导您完成它。我在SIM团队为T-Mobile工作,很乐意提供帮助!