Android 监控网络状态
来源:互联网 发布:mac版svn客户端下载 编辑:程序博客网 时间:2024/05/08 13:41
使用ConnectivityManager监听网络状态变化
- 博客分类:
- Android 文章
connectivitymanager
- mIntenFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
- mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
- mReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {
- Log.i(TAG, "netWork has lost");
- }
- NetworkInfo tmpInfo = (NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
- Log.i(TAG, tmpInfo.toString() + " {isConnected = " + tmpInfo.isConnected() + "}");
- }
- };
mIntenFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); mReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {Log.i(TAG, "netWork has lost");}NetworkInfo tmpInfo = (NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);Log.i(TAG, tmpInfo.toString() + " {isConnected = " + tmpInfo.isConnected() + "}");}};
注册Receiver,监听网络变化:
- registerReceiver(mReceiver, mIntenFilter);
registerReceiver(mReceiver, mIntenFilter);
取消注册,不再监听网络变化:
- unregisterReceiver(mReceiver);
unregisterReceiver(mReceiver);
也可在AndroidManifest.xml中注册BroadcastReceiver
- <receiver android:name=".ConnectionReceiver" >
- <intent-filter>
- <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
- </intent-filter>
- </receiver>
<receiver android:name=".ConnectionReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
程序第一次启动时会收到一个Broadcast
从 GPRS 到 WIFI,程序至少会收到3个Broadcast
第一个是连接到WIFI
第二个是断开GPRS
第三个是连接到WIFI
从WIFI到GPRS,程序至少会收到2个Broadcast
第一个是断开Wifi
第二个是连接到GPRS
http://blog.csdn.net/chenzheng_java/article/details/6387116/
android之ConnectivityManager简介,网络连接状态
上面判断网络类型的方法只是为了展示用法,其实完全可以通过networkInfo.getType()的返回值来判断。
如:
- Context context = listActivity.getApplicationContext();//获取应用上下文
- ConnectivityManager connectivityManager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);//获取系统的连接服务
- NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//获取网络的连接情况
- if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
- //判断WIFI网
- }else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
- //判断3G网
- }
0 0
- Android 监控网络状态
- Android 监控网络状态
- Android 监控网络状态
- Android 监控网络状态
- Android 监控网络状态
- Android 监控网络状态
- Android网络状态监控
- Android 监控 网络连接状态
- Android 判断,监控网络状态
- Android实时监控网络状态
- Android 网络状态的监控
- Android程序中实时监控网络状态
- Android之实时监控网络状态
- Android开发网络状态实时监控
- Android 的网络编程(18)-监控四种网络状态
- Android-判断网络连接是否可用及监控网络状态
- Android 的网络编程监控-四种网络状态
- AF-监控网络状态
- 代理模式
- Hibernate在处理数据量比较大的时候内存不释放的解决方案
- Qt中使用cout, cin, cerr
- ubuntu 下单独编译openwrt luci
- 如何获取Spinner中绑定的所有数据 or 如何直接向Spinner绑定字符串
- Android 监控网络状态
- Intellij 14注册算法
- Android高德地图API使用(1)
- ASP.NET MVC IOC 之Ninject攻略
- 使用JSR 303和AOP简化你的接口开发
- poj 3083 dfs+bfs
- 2015 AliCTF Writeup
- 微信平台的token安全验证
- 文章标题