Mtk6515在代码中区分运营商

来自个人维基
2015年5月6日 (三) 20:26Hovercool讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
  • 区分运营商
    /**
     * get operator type
     * @return operator type
     */
    private static OpIndex getOpIndex(){
        //MTK_OPTR_PROTECT_START
        String optr = SystemProperties.get("ro.operator.optr");
        
        if (optr != null) {
            if(optr.equals("OP01")) {
                return OpIndex.OP_CMCC;
            } else if(optr.equals("OP02")) {
                return OpIndex.OP_CU;
            } else if(optr.equals("OP03")) {
                return OpIndex.OP_ORANGE;
            }
        }
        //MTK_OPTR_PROTECT_END
        return OpIndex.OP_NONE;
    }
此属于Android 属性表内容,可用adb命令获取其取值
$:adb shell
$:getprop ro.operator.optr 
但直接使用 setprop试图改变其属性是不可行的,要改变可以通过更改
out/target/product/bbk15_td_ics/recovery/root/default.prop
out/target/product/bbk15_td_ics/system/build.prop
然后再push到对应目录,重启手机即可.



  • 项目中对属性ro.operator.optr的配置
mediatek/config/bbk15_td_ics/ProjectConfig.mk
OPTR_SPEC_SEG_DEF = OP01_SPEC0200_SEGC
build/target/product/common.mk
   OPTR := $(word 1,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
   SPEC := $(word 2,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
   SEG  := $(word 3,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
    PRODUCT_PROPERTY_OVERRIDES += \
     ro.operator.optr=$(OPTR) \
     ro.operator.spec=$(SPEC) \
     ro.operator.seg=$(SEG)






Android属性之build.prop生成过程分析