权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
注册
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(mWifiMng.WIFI_STATE_CHANGED_ACTION);
iFilter.addAction(mWifiMng.NETWORK_STATE_CHANGED_ACTION);
context.registerReceiver(wifiReceiver, iFilter);
BroadcastReceiver
BroadcastReceiver wifiReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
mWifiMng = (WifiManager) context
.getSystemService(context.WIFI_SERVICE);
// 判断物理连接
switch (mWifiMng.getWifiState()) {
case WifiManager.WIFI_STATE_DISABLED:
System.out.println("\n" + "wifi不可用");
break;
case WifiManager.WIFI_STATE_DISABLING:
System.out.println("\n" + "wifi关闭中");
break;
case WifiManager.WIFI_STATE_ENABLED:
System.out.println("\n" + "wifi可用");
break;
case WifiManager.WIFI_STATE_ENABLING:
System.out.println("\n" + "wifi打开中");
break;
case WifiManager.WIFI_STATE_UNKNOWN:
System.out.println("\n" + "wifi未知状态");
break;
}
// 判断无线连接
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWiFiNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWiFiNetworkInfo != null) {
// System.out.println("ceshide::"+mWiFiNetworkInfo.isAvailable());
System.out.println("测试::"
+ mWiFiNetworkInfo.isConnectedOrConnecting());
}
}
}
};