/android/packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java:
public boolean onSwitchToggled(boolean isChecked) {
mWifiManager.setWifiEnabled(isChecked)
}
/android/frameworks/base/wifi/java/android/net/wifi/WifiManager.java:
public boolean setWifiEnabled(boolean enabled) {
return mService.setWifiEnabled(mContext.getOpPackageName(), enabled);
}
通过AIDL调用到:
/android/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java:
public synchronized boolean setWifiEnabled2(String packageName, int staId, boolean enable) {
if (staId == STA_PRIMARY) {
mWifiController.sendMessage(CMD_WIFI_TOGGLED);//发送CDM_WIFI_TOGGLED消息
}
}
/android/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiController.java:
/WifiController收到广播,在Wifi开启的时候,WifiController停留在mStaEna