WAP/MMS上网参数自适应参考设计

本文介绍了一种针对不同运营商SIM卡的WAP/MMS配置方案。重点在于利用现有NVRAM结构来存储浏览器、多媒体信息服务及数据账户配置,并在设备启动时通过SIM卡的MCC和MNC自动选择正确的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本参考设计主要思路和关键点如点:
1) 为不同operator的SIM卡准备WAP/MMS profile data 
为尽量少改动代码,不需新增数据结构,可延用WAP,MMS,DATA ACCOUNT对应的NVRAM,主要有以下三方面: 
1.1 Browser 
COMMON_NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT  
Browser profile content(包括SIM1和SIM2的browser profile content) 
COMMON_NVRAM_EF_WAP_PROF_WAP_SIM1_PROFILE_NAMES_DEFAULT  
SIM1 Browser profile name 
COMMON_NVRAM_EF_WAP_PROF_WAP_SIM2_PROFILE_NAMES_DEFAULT 
SIM2 Browser profile name
1.2MMS 
COMMON_NVRAM_EF_WAP_PROF_MMS_PROFILE_CONTENT_DEFAULT 
MMS profile content(包括SIM1和SIM2的MMS profile content) 
COMMON_NVRAM_EF_WAP_PROF_MMS_SIM1_PROFILE_NAMES_DEFAULT  
SIM1 MMS profile name 
COMMON_NVRAM_EF_WAP_PROF_MMS_SIM2_PROFILE_NAMES_DEFAULT 
SIM2 MMS profile name
1.3Data account 
COMMON_NVRAM_EF_ABM_PS_PROFILE_DEFAULT 
GPRS data account content 
COMMON_NVRAM_EF_CSD_PROFILE_DEFAULT 
CSD data account content
2)开机后,mmi_wap_prof_init用于初始化WAP/MMS profile 
2.1原有设计是: 
2.1.1Browser部分: 
mmi_wap_prof_nvram_read_active_profile_index(MMI_WAP_PROF_APPID_BRW);  
从nvram中获取并设置SIM1和SIM2的active profile index 
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM1, MMI_WAP_PROF_APPID_BRW);  
根据SIM1 active profile index设置SIM1的profile content 
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM2, MMI_WAP_PROF_APPID_BRW); 
根据SIM2 active profile index设置SIM2的profile content
2.1.2 MMS部分: 
mmi_wap_prof_nvram_read_active_profile_index(MMI_WAP_PROF_APPID_MMS); 
从nvram中获取并设置SIM1和SIM2的active profile index 
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM1, MMI_WAP_PROF_APPID_MMS);  
根据SIM1 active profile  
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM2, MMI_WAP_PROF_APPID_MMS);- 
根据SIM2 active profile index设置SIM2的profile content
2.2 需要修改的是: 
只需要修改函数mmi_wap_prof_nvram_read_active_profile_index(),将函数中从nvram获取SIM卡active profile
index的操作修改为: 
2.2.1 先通过SIMModule获取当前SIM卡的MCC和MNC. 
2.2.2 根据第一步结果,找出该SIM卡对应的profile index(对应关系在预置WAP/MMS/data account的nvram数据时已经由客户自行设定). 
2.2.3 用新获取的profile index替换原代码中从nvram获取的profile index即可,除此之外不需作其它修改。
 
【注】函数mmi_wap_prof_nvram_read_active_profile_index()中,变量index为从nvram中读出的sim1和sim2 active prile index,其第一个字节对应SIM1的profile index,第二个字节对应SIM2的profile index。即:SIM1_index=((index) & 0x00FF); SIM2_index= ((index) >> 8)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值