一、背景
项目中有接触到Android系统中wifi状态处理逻辑相关的测试,有必要深入追究一下,现在把查阅到资料整理分享触出来。
二、结论总结
①Android系统中针对wifi的状态一共分为5种(开启中、已开启、关闭中、已关闭,未知)分别对应的英文描述如下:
API地址查看:http://www.android-doc.com/reference/android/net/wifi/WifiManager.html
②以Android9.0为例,源码地址:https://www.androidos.net.cn/android/9.0.0_r8/xref/frameworks/base/wifi/java/android/net/wifi/WifiManager.java
/**
* Wi-Fi is currently being disabled. The state will change to {@link #WIFI_STATE_DISABLED} if
* it finishes successfully.
*
* @see #WIFI_STATE_CHANGED_ACTION
* @see #getWifiState()
*/
public static final int WIFI_STATE_DISABLING = 0;
/**
* Wi-Fi is disabled.
*
* @see #WIFI_STATE_CHANGED_ACTION
* @see #getWifiState()
*/
public static final int WIFI_STATE_DISABLED = 1;
/**
* 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;
/**
* Wi-Fi is enabled.
*
* @see #WIFI_STATE_CHANGED_ACTION
* @see #getWifiState()
*/
public static final int WIFI_STATE_ENABLED = 3;
/**
* Wi-Fi is in an unknown state. This state will occur when an error happens while enabling
* or disabling.
*
* @see #WIFI_STATE_CHANGED_ACTION
* @see #getWifiState()
*/
public static final int WIFI_STATE_UNKNOWN = 4;