zoukankan      html  css  js  c++  java
  • 获取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

  • 相关阅读:
    MySQL for Linux错误: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    Git SSH Key 生成步骤
    百度陆奇最新内部演讲:如何成为一个优秀的工程师?
    Apple使用Apache Mesos重建Siri后端服务
    剖析Elasticsearch集群系列第一篇 Elasticsearch的存储模型和读写操作
    ElasticSearch VS Solr
    聊聊基于Lucene的搜索引擎核心技术实践
    如何安全的存储用户密码?
    MySQL 性能管理及架构设计指南
    大牛是怎么思考设计MySQL优化方案
  • 原文地址:https://www.cnblogs.com/ondream/p/3092771.html
Copyright © 2011-2022 走看看