Flujo de Android Wifi

Estoy tratando de rastrear el código de configuración wifi. Mi intención es conocer el flujo de la aplicación a la capa del kernel después de cambiar el botón WIFI OFF a ON.

Mientras vamos a la página Configuración en Android, alternar el botón WLAN (WIFI), entonces su wifi debe estar habilitado.

  1. He encontrado que esta página corresponde a WifiSettings.java . En este archivo, mientras cambia el botón de OFF a 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(); } 

    Se llamará a esta función.

  2. A continuación, ir a comprobar WifiManager.java . Encontré:

     /** * 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; 

Sin embargo, después de esto, realmente no entendía cómo profundizar en el rastreo del flujo.

One Solution collect form web for “Flujo de Android Wifi”

Usted debe mirar WifiEnabler.java , ya que el código que mencionó sólo muestra una cadena. En WifiEnabler::onCheckChanged() , puede ver que se llama mWifiManager.setWifiEnabled() .

Después de eso, puede mirar WifiManager.java y otros archivos relacionados en ese directorio. Hay una máquina de estado y debe trazar las transiciones de estado.

En general, Android utiliza wpa_supplicant , que es casi el mismo que Linux. El archivo de configuración está en /data/misc/wifi/wpa_supplicant.conf y es generado por Android. Después de cambiar el conmutador wifi, Android inicia wpa_supplicant y se comunica con él. El wpa_supplicant se encarga de escanear y conectar a la estación wifi.

  • Notificación de muestra de Android de BroadcastReceiver
  • Android - Get Notified cuando se detecta un nuevo punto de acceso?
  • No se puede conectar a Android a través de ADB a través de wifi - ¿Necesito acceso root?
  • Habilitar / deshabilitar wifi mediante scripts bash en Android
  • ¿Cómo puedo transferir archivos entre dispositivos Android mediante Wi-Fi Direct?
  • ¿Cómo iniciar una conexión de red local programmically a través de hotspot Wi-Fi en Android?
  • Android 6.0 No se puede agregar WifiConfiguration si ya hay otra WifiConfiguration para ese SSID
  • Iniciar Androids WiFi-Manager mediante el envío de una intención?
  • Cómo obtener el estándar wifi
  • ¿Cómo depurar Android 6.0 sobre Wi-Fi? (Problema netcfg)
  • Analizar todos los dispositivos wifi cerca del teléfono
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.