Android 广播监听WiFi的状态小结

  这段时间在学习一下WiFi开发这个模块,果然自己摸索处处都是坑。

  今天就对Android WiFi开发的学习来个小结:

 1、 一般正常的项目开发中,是使用广播来监听WiFi的状态的

                IntentFilter intentFilter = new IntentFilter();
		intentFilter.addAction("android.net.wifi.STATE_CHANGE");
		intentFilter.addAction("android.net.wifi.WIFI_STATE_CHANGED");
		intentFilter.addAction("android.net.wifi.SCAN_RESULTS");

通过添加上面的action来监听,其中WIFI_STATE_CHANGED这个是WiFi的状态改变广播,通过它可以判断WiFi是否可用: WIFI_STATE_DISABLED WIFI网卡不可用  WIFI_STATE_DISABLING WIFI网卡正在关闭  WIFI_STATE_ENABLED WIFI网卡可用  WIFI_STATE_ENABLING WIFI网卡正在打开  WIFI_STATE_UNKNOWN WIFI网卡状态不可知

SCAN_RESULTS 这个广播可以知道scan是否已经成功扫面到了WiFi的信息。(我就是一直在这里卡住了,一开始没有判断,然后老是搜索到了空的数据,显示不出来)。


			if (intent.getAction().equals(
					WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
				wifiList = wifiManager.getScanResults();
				myAdapter = new WifiAdapter(MainActivity.this, wifiList);
				wifiListView.setAdapter(myAdapter);
			}else if (intent.getAction()
					.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
				int wifiState = intent.getIntExtra(
						WifiManager.EXTRA_WIFI_STATE, 0);
				switch (wifiState) {
				case WifiManager.WIFI_STATE_ENABLED:
						// myAdapter.notifyDataSetChanged();
						wifiManager.startScan();
					break;
				default:
					break;
				}
			}

详细的代码我就不给出来了,或许可以看看这个网址的:https://zhidao.baidu.com/question/2078364581341380188.html

也可以百度吧,一大堆。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值