Android 广播监听WiFi的状态小结

本文总结了Android WiFi开发中使用广播监听WiFi状态的方法,包括监听WiFi是否可用及扫描结果。介绍了如何通过不同广播ACTION来实现对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

也可以百度吧,一大堆。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值