立马快速获取ssid的方法(即一旦切换Wifi网络成功后[其实中间有个断开过程],立马需要得到ssid),不能用WifiManager.WIFI_STATE_DISABLED和WifiManager.WIFI_STATE_ENABLED获取网络切换状态时,应该使用ConnectivityManager,首先在广播中使用Intent.action判断ConnectivityManager.CONNECTIVITY_ACTION。
/**
* 获取当前wifi的ssid
*/
public static String getSsid(Context ctx) {
WifiManager mWifiManager = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
if (mWifiManager.getConnectionInfo() != null) {
return mWifiManager.getConnectionInfo().getSSID();
}
return null;
}
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
String state = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (state.equals(NetworkInfo.State.CONNECTED)) {
NetHelper.getSsid(context);
} else if (state.equals(NetworkInfo.State.DISCONNECTED)) {
}
}
}
};