android 开关指令代码,Android-代码控制开关

(4.1源码)

一:第一种(常见的):通过编译的控制类生成可供框架调用的开关

1:查找代码控制: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java下(状态栏view创建类):

if (FeatureQuery.FEATURE_NOTIFICATION_BAR_DATA_SWITCH)

{

mDataEnabled = (Switch) mStatusBarWindow.findViewById(R.id.network_switch);

mDataEnabled.setOnCheckedChangeListener(mDataEnabledListener);

mMobileDataEnabled = mConnService.getMobileDataEnabled();

mDataEnabled.setChecked(mMobileDataEnabled);

mSettingNetWork = (TextView) mStatusBarWindow.findViewById(R.id.settings_label);

mSettingNetWork.setOnClickListener(mSettingNetworkListener);

}

else

{....

}

“FeatureQuery.FEATURE_NOTIFICATION_BAR_DATA_SWITCH”是控制开关控制 ,它定义在:buid/buildplus/buildspec/ct.spec:

FEATURE_NOTIFICATION_BAR_NETWORK_CHOOSE = yes

FEATURE_NOTIFICATION_BAR_DATA_SWITCH = yes

该文件在make -j4编译后在buid/buildplus/target/下生成FeatureQuery.java:

......

public static  boolean FEATURE_NOTIFICATION_BAR_DATA_SWITCH = true;

public static  boolean FEATURE_NOTIFICATION_BAR_NETWORK_CHOOSE = true;

......

即:

yes---true;

no----false;

注:FeatureQuery.java存的全是boolean型的变量;最初target目录里只有empty,剩下的都是后来生成的。

2:修改:将

FEATURE_NOTIFICATION_BAR_NETWORK_CHOOSE = no

FEATURE_NOTIFICATION_BAR_DATA_SWITCH = no

然后重新编译即可。

备注:本次所说的这类开关与认证有关,通常我们控制代码用的开关只需要像“代码控制开关的定义和使用”那样在msm8625.mk中定义即可;后期专栏介绍。

二:第二种:在配置文件config.xml中,这类只限于有device/qcom/msm8625(或xxxx其他)中有overlay覆盖功能的项目中。(该条只是随笔,读者无须理会)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值