Android运营商名称显示

下列情况都会触发更新运营商名称。
1 卡loaded
2 IMS_CAPABILITY_CHANGED
3 LOCALE_CHANGED
4 SubscriptionsChanged
5 ServiceStateChanged

更新运营商名称的入口为ServiceStateTracker.updateSpnDisplay()。
这里面会根据多种条件来判断显示SPN还是PLMN,或者是两者都显示,

PLMN是查询状态时通过RIL.getOperator()去获取的,保存在ServiceState的mVoiceOperatorAlphaLong/mVoiceOperatorAlphaShort中。

SPN可以保存在EF_SPN (0x6F46)、EF_SPN_CPHS(0x6F14)或者EF_SPN_SHORT_CPHS(0x6F18)中,
卡READY后在fetchSimRecords()中读取,之后保存在IccRecords.mSpn中

最后发送广播SPN_STRINGS_UPDATED_ACTION进行通知。

猜你喜欢

转载自my.oschina.net/igiantpanda/blog/1787609
今日推荐