Android监控wifi连接状态
2013-05-29 10:47
232 查看
在项目中我们经常有这样的需求,在下载图片或其他文件时会遇到网络不稳定的问题,导致下载失败等,因此,
监控网络连接的状态尤为重要,最近我做的一个项目主要依靠连接wifi来下载,因此就整理了一些用来监控wifi状态的小demo
第一步:首先在Activity中注册一个监控wifi状态的广播
第二步:创建该广播,用来监控wifi的状态
第三步:最后记得添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
监控网络连接的状态尤为重要,最近我做的一个项目主要依靠连接wifi来下载,因此就整理了一些用来监控wifi状态的小demo
第一步:首先在Activity中注册一个监控wifi状态的广播
package com.front.wifi_action; import android.app.Activity; import android.content.IntentFilter; import android.net.wifi.WifiManager; import android.os.Bundle; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WifiBroad wifiReceiver=new WifiBroad(); IntentFilter filter=new IntentFilter(); filter.addAction(WifiManager.RSSI_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); this.registerReceiver(wifiReceiver,filter); } }
第二步:创建该广播,用来监控wifi的状态
package com.front.wifi_action; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; public class WifiBroad extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION)) { } else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { System.out.println("网络状态改变"); NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {// 如果断开连接 System.out.println("wifi网络连接断开 "); } if(info.getState().equals(NetworkInfo.State.CONNECTING)){ System.out.println("连接到wifi网络"); } } else if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) { // WIFI开关 int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,WifiManager.WIFI_STATE_DISABLED); if (wifistate == WifiManager.WIFI_STATE_DISABLED) {// 如果关闭 System.out.println("系统关闭wifi"); } if(wifistate==WifiManager.WIFI_STATE_ENABLED){ System.out.println("系统开启wifi"); } } }
第三步:最后记得添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
相关文章推荐
- android广播监控wifi连接状态
- android广播监控wifi连接状态
- Android监控wifi连接状态
- Android之广播监控wifi连接状态
- android广播监控wifi连接状态
- Android中判断网络连接是否可用及监控网络状态
- 浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制
- 浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制
- android判断是否连接wifi和网络状态的判断
- Android中判断网络连接是否可用及监控网络状态
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android 监控 网络连接状态
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android中判断网络连接是否可用及监控网络状态
- Android中判断网络连接是否可用及监控网络状态
- 浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制
- 浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制
- 4.2.2.5 android 判断3G、wifi、2G等网络状态连接