android5.1中apn选项默认选择制式源码修改

在android源码中声明定义全局变量,此全局变量一旦在某处被赋值在开关机后不会被改变,除非重新赋值或者恢复出厂(会恢复到原来的值):
1.frameworks/base/packages/SettingsProvider/res/values/defaults.xml:
<string name="default_apn_select" translatable="false">default</string>


2.frameworks/base/core/java/android/provider/Settings.java:2753
public static final String DEFAULT_APNSETTING_SELECT_WAP = "default_apnsetting_select_wap";//需要加hide,否则会整编失败


3.frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java:2381
loadStringSetting(stmt, Settings.System.DEFAULT_APNSETTING_SELECT_WAP, R.string.default_apn_select);

---------------------
修改apn默认选项为wap:
ApnSettings.java(packages/apps/Settings)--显示apns列表,包含单选框,fillList中读取数据并且显示,在这里做判断,第一次进入时使用wap作为默认选项,双卡时需要使用sub_id来判断:
       if((DEFAULT_GLOBAL_APN.equals(defaultApnValue) || !defaultApnValue.contains(sub_id)) && apn.contains("wap")){
                       Settings.System.putString(getContentResolver(), Settings.System.DEFAULT_APNSETTING_SELECT_WAP,
                              defaultApnValue+sub_id);
       setSelectedApnKey(key);

UiccCard.java(framework/opt/telephony)--mHandler中EVENT_CARD_REMOVED处理SIM卡被拔除等一系列事件

ShutDownThread.java(frameworks/base/services):beginShutdownSequence()方法主导关机/重启

注意,android中还可以使用SystemProperties.set()/SystemProperties.get()方式或者ContentProvider来存储数据,这两者在开关机后数据都不会被删除或者恢复,而是保持在程序中你给的值。
       
       
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值