在使用OMA操作SIM卡时,会遇到很多问题,如下:
- 在初始化SeService时出现下面错误
Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=org.simalliance.openmobileapi.service.ISmartcardService }
原因:不同的Android版本对启动Service要求不同,最新的Android要求使用显示方式启动SmartcardService。该错误是因为使用了较低级的OMA包导致。
解决方法:使用其它的jar包,一般使用最新的21版本;
OMA包下载地址:
链接: https://pan.baidu.com/s/1qXXVP04 密码: 294p
2.绑定SEService时失败
SEService: bindingSuccessful: false
原因:使用的OMA jar包不匹配。通常从网上下载的OMA包来源于谷歌或者其它地方,所以,并不适用于你所使用的手机(如小米手机就将系统本身支持的JAR包进行了修改,因此,SEService中的回调会失败。如下图所示区别)
解决方法:从手机中导出OMA jar包使用,这样与手机匹配
3.找不到SEService,须添加如下权限:
<uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD" />