wifi設定コードをトレースしようとしています。私の意図は、WIFIボタンをオフからオンに切り替えた後、アプリケーションからカーネル層への流れを知ることです。
Android の [設定] ページに移動し、[WLAN (WIFI)] ボタンを切り替えて、wifi を有効にする必要があります。
このページは に対応していることがわかりました
WifiSettings.java
。このファイルで、ボタンをオフからオンに切り替えている間: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;
しかし、この後、流れをたどって深掘りしていく方法がよくわかりませんでした。