Android WIFI状态监控
来源:互联网 发布:淘宝外贸男鞋店 编辑:程序博客网 时间:2024/04/30 04:26
Android 的wifi状态可以分为两大类,两者均可通过广播监听,相应的Action在WifiManager类中:
第一类:有无wifi源及各个状态间转变
可监听 WIFI_STATE_CHANGED_ACTION。(下图所示,双击图片可放大)
有五种情况:
1-1 disabled
1-2 disabling
1-3 enable
1-4 enabling
1-5 unknown
可通过不同的Extra值,见下图(双击可放大)获得状态常量:
代码如下:
- if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {//在此监听wifi有无
- int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
- switch (wifiState) {
- case WifiManager.WIFI_STATE_DISABLED:
- updateWifiStatus(R.drawable.wifi_disable);
- Toast.makeText(mContext, R.string.wifi_disable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_DISABLING:
- break;
- case WifiManager.WIFI_STATE_ENABLED:
- updateWifiStatus(R.drawable.wifi_enable);
- Toast.makeText(mContext, R.string.wifi_enable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_ENABLING:
- break;
- case WifiManager.WIFI_STATE_UNKNOWN:
- break;
- }
- }
也可通过以下代码实现:
- //另外一种方式
- mWifiMng = (WifiManager) mContext
- .getSystemService(mContext.WIFI_SERVICE);
- switch (mWifiMng.getWifiState()) {
- case WifiManager.WIFI_STATE_DISABLED:
- updateWifiStatus(R.drawable.wifi_disable);
- Toast.makeText(mContext, R.string.wifi_disable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_DISABLING:
- break;
- case WifiManager.WIFI_STATE_ENABLED:
- updateWifiStatus(R.drawable.wifi_enable);
- Toast.makeText(mContext, R.string.wifi_enable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_ENABLING:
- break;
- case WifiManager.WIFI_STATE_UNKNOWN:
- break;
- }
第二类:wifi是否连接正常
可监听:NETWORK_STATE_CHANGED_ACTION(如下图所示,双击图片可放大)
有两种状况:
2-1连接
2-1未连接
在OnReceiver方法中,通过不同Extra值,获得连接状况,如下图,双击图片放大:
代码如下:
转载自:http://mikewang.blog.51cto.com/3826268/850572
- if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
- Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
- if (null != parcelableExtra) {
- NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;
- boolean isConnected = networkInfo.isAvailable();
- updateNetworkStatus();
- }
- }
0 0
- Android WIFI状态监控
- Android WIFI状态监控
- Android WIFI状态监控
- Android WIFI状态监控
- Android Wifi 状态监控
- Android WIFI状态监控
- Android WIFI状态监控
- Android监控wifi连接状态
- android广播监控wifi连接状态
- Android之广播监控wifi连接状态
- android广播监控wifi连接状态
- Android监控WIFI和GSM状态并绘制网络强度
- [Android] 监听wifi状态
- android控制wifi状态
- Android 获取wifi状态
- android wifi状态更新
- android控制wifi状态
- android 备份wifi状态
- 鼓励的力量
- Riak的一个PHP扩展
- 算法
- ARC指南2 - ARC的开启和禁止
- [C# 网络编程系列] 专题二:HTTP协议详解
- Android WIFI状态监控
- SQL Server查看所有表大小,所占空间
- 自己的程序编程变成windows可以运行的.exe文件----py2exe
- iOS 字符串常用操作
- 'ADB server didn't ACK'的解决办法 , Binary XML file line #...: Error inflating class ...。
- 每个人都有他的人生定位
- 酸奶苹果搭配技巧
- HTML之<meta>问题汇总
- Solr学习之三:Solr各种查询实例