状态栏上的图标显示是属于SYSTEM-UI的内容范畴;显示图标是在:SignalClusterView.Java文件中
public void setWifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon,
boolean activityIn, boolean activityOut, String description) {
mWifiVisible = statusIcon.visible && !mBlockWifi;
mWifiStrengthId = statusIcon.icon;
mWifiActivityId = getWifiActivityId(activityIn, activityOut);
mWifiDescription = statusIcon.contentDescription;
apply();//这里将会显示更新后的图片
}
代码是怎么一步一步调用到setWifiIndicators
这个函数来显示图标的呢?
1. 系统定义了一个广播接收器:NetworkControllerImpl extends BroadcastReceiver
在它的onReceive()函数里会处理所有的状态栏上的图标更新:
NetworkControllerImpl.java会定义mWifiSignalController
if (action.equals(ConnectivityMa