wifi的广播状态一共有五种
public static final int WIFI_STATE_DISABLING = 0;
public static final int WIFI_STATE_DISABLED = 1;
public static final int WIFI_STATE_ENABLING = 2;
public static final int WIFI_STATE_ENABLED = 3;
public static final int WIFI_STATE_UNKNOWN = 4;
当我们打开wifi的开关的时候wifi经历了两个状态
WIFI_STATE_ENABLING–>>WIFI_STATE_ENABLED
只有在wifi状态是WIFI_STATE_ENABLED的时候,wifi才算完全打开 可以去连接热点了
当我们关闭wifi的时候wifi又会经历两种状态
WIFI_STATE_DISABLING–>>WIFI_STATE_DISABLED
我们监听wifi状态的时候 需要注册一个广播来监听
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter filter = new IntentFilter(
WifiManager.WIFI_STATE_CHANGED_ACTION);
BroadcastReceiver receiver = new MyReceiver();
registerReceiver(receiver, filter);
}
class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (WifiManager.WIFI_STATE_CHANGED_ACTION
.equals(intent.getAction())) {// 这个监听wifi的打开与关闭
int wifiState = intent.getIntExtra(
WifiManager.EXTRA_WIFI_STATE, 0);
Log.e("WIFI状态", "wifiState==" + wifiState);
switch (wifiState) {
case WifiManager.WIFI_STATE_DISABLED:
break;
case WifiManager.WIFI_STATE_DISABLING:
break;
case WifiManager.WIFI_STATE_ENABLED:
break;
case WifiManager.WIFI_STATE_ENABLING:
break;
case WifiManager.WIFI_STATE_UNKNOWN:
break;
}
}
}
}