获取Wifi信息及注册Wifi改变信息

项目用到,标记记录一下方便下一次使用。

先获取系统服务

(ConnectivityManager) mContext
				.getSystemService(Context.CONNECTIVITY_SERVICE);
注册广播
IntentFilter ifilter = new IntentFilter(
					WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
			ifilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
			ifilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

			mContext.registerReceiver(mWifiStateReceiver, ifilter);

接收广播

public class WifiStateReceiver extends BroadcastReceiver {

		@Override
		public void onReceive(Context context, Intent intent) {
			try {
				AspLog.v(TAG,
						"WifiStateReceiver onReceive:" + intent.getAction());
				if (intent.getAction().equals(
						WifiManager.WIFI_STATE_CHANGED_ACTION)) {
					if (dialog_loading != null) {
						AspLog.v(TAG,
								"WIFI_STATE_CHANGED_ACTION dialog_loading="
										+ dialog_loading + ",showing="
										+ dialog_loading.isShowing()
										+ ",wifistate=" + getWIFIstate());
					} else {
						AspLog.v(TAG,
								"WIFI_STATE_CHANGED_ACTION dialog_loading="
										+ dialog_loading + ",showing=null"
										+ ",wifistate=" + getWIFIstate());

					}
					if (dialog_loading != null && dialog_loading.isShowing()
							&& getWIFIstate() == State.CONNECTED) {
						dialog_loading.dismiss();
						finishAsOk(intent);
					}
				}
				if (intent.getAction().equals(
						WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {// 判断wifi
																		// enable的事件
					if (mWifiList == null || mWifiList.size() == 0) {
						mWifiList = mWifiManager.getScanResults();
						listScanResults();
					}
					handlerWIFIMessage(STATE_UPDATE_LIST);
				}
				if (intent.getAction().equals(
						WifiManager.NETWORK_STATE_CHANGED_ACTION)) {// 判断wifi
																	// enable的事件
					mWifiList = mWifiManager.getScanResults();
					listScanResults();
					AspLog.v(TAG, "wifiList size:" + mWifiList.size());
					handlerWIFIMessage(STATE_UPDATE_LIST);
					if (dialog_loading != null) {
						AspLog.v(TAG,
								"NETWORK_STATE_CHANGED_ACTION dialog_loading="
										+ dialog_loading + ",showing="
										+ dialog_loading.isShowing()
										+ ",wifistate=" + getWIFIstate());
					} else {
						AspLog.v(TAG,
								"NETWORK_STATE_CHANGED_ACTION dialog_loading="
										+ dialog_loading + ",showing= null"
										+ ",wifistate=" + getWIFIstate());

					}
					if (dialog_loading != null && dialog_loading.isShowing()
							&& getWIFIstate() == State.CONNECTED) {
						dialog_loading.dismiss();
						finishAsOk(intent);
					}
				}
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}
	}

更多的移动互联网的发展趋势、app开发、移动互联网应用相关的资料请到互联网的一点事:www.yidin.net 留言

android QQ群:222392467

资料:

http://www.yidin.net/?p=8280

http://www.yidin.net/?p=9725

你可能感兴趣的:(获取Wifi信息及注册Wifi改变信息)