我正在尝试跟踪 wifi 设置代码。我的目的是在将 WIFI 按钮关闭到打开后了解从应用程序到内核层的流程。
当我们进入Android中的设置页面时,切换WLAN(WIFI)按钮,然后您的wifi应该被启用。
我发现这个页面对应
WifiSettings.java
。在此文件中,当您将按钮从 OFF 切换到 ON 时:private void updateWifiState(int state) { getActivity().invalidateOptionsMenu(); switch (state) { case WifiManager.WIFI_STATE_ENABLING: addMessagePreference(R.string.wifi_starting); break; } mLastInfo = null; mLastState = null; mScanner.pause(); }
将调用此函数。
然后我去检查
WifiManager.java
。我发现:/** * Wi-Fi is currently being enabled. The state will change to {@link#WIFI_STATE_ENABLED} if it finishes successfully. * * @see #WIFI_STATE_CHANGED_ACTION * @see #getWifiState() */ public static final int WIFI_STATE_ENABLING = 2;
但是,在这之后,我并没有真正理解如何深入挖掘追踪流程。