Android网络切换状态广播
来源:互联网 发布:86编程键盘 编辑:程序博客网 时间:2024/06/06 11:02
直接上代码:
*package com.juyoulicai.forexproduct.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.widget.Toast; import com.juyoulicai.eventbus.ForexDateEvent; import com.juyoulicai.util.MLog; import org.greenrobot.eventbus.EventBus; /** * 作者: allen on 16/5/30. */ public class ConnectionChangeReceiver extends BroadcastReceiver { private static final String TAG =ConnectionChangeReceiver.class.getSimpleName(); @Override public void onReceive(Context context, Intent intent) { MLog.d(TAG,"网络状态改变"); boolean success =false; /** * 获得网络连接服务 */ ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo.State state =connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); if (NetworkInfo.State.CONNECTED==state){ success =true; } state =connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); if (NetworkInfo.State.CONNECTED==state){ success =true; } if (!success){ Toast.makeText(context,"网络连接失败",Toast.LENGTH_LONG).show(); EventBus.getDefault().post(new ForexDateEvent(ForexDateEvent.NetworkInfoState,false)); } else { EventBus.getDefault().post(new ForexDateEvent(ForexDateEvent.NetworkInfoState,true)); } } }
记得在Manifest文件里面进行权限声明,和广播接收器注册。
< !– Needed to check when the network connection changes –>
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> < receiver android:name="you_package_name.ConnectionChangeReceiver" android:label="NetworkConnection"> < intent-filter> < action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> < /intent-filter> < /receiver>
* 使用方式一:*
在Activity的onCreate中:
//注册网络监听IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(mNetworkStateReceiver, filter);
在Activity中的onDestroy中:
//取消监听unregisterReceiver(mNetworkStateReceiver);
使用方式二:
1. 应用启动时,启动Service,在Service的onCreate方法中注册网络监听:
//注册网络监听
IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(mNetworkStateReceiver, filter);
2. 应用退出时,Service关闭,在Service的onDestroy方法中取消监听:
//取消监听
unregisterReceiver(mNetworkStateReceiver);
0 0
- Android网络切换状态广播
- android-code-网络状态广播
- Android 广播监听网络状态
- Android网络状态广播监听
- Android 广播监听网络状态
- Android 广播监听网络状态
- Android广播监听网络状态
- android 使用广播监听网络切换
- network: android 使用广播监听网络状态
- network: android 使用广播监听网络状态
- android 使用广播监听网络状态
- network: android 使用广播监听网络状态
- android 使用广播监听网络状态
- network: android 使用广播监听网络状态
- android 使用广播监听网络状态
- android 使用广播监听网络状态
- android 使用广播监听网络状态
- android接收广播监听网络状态变化
- 打印杨辉三角
- 第十、十一周项目1:阅读程序,并写出运行结果(2)
- 51 nod 最高的奖励
- 『数据挖掘』scikit-learn包的进阶学习笔记——第二章:线性回归
- 把普通的java对象转成json字符串
- Android网络切换状态广播
- 第十、十一周项目1:阅读程序,并写出运行结果(3)
- 微信浏览器如何禁止iPhone手机上下滑动网页
- linux下邮件查看命令
- 第十、十一周项目1:阅读程序,并写出运行结果(4)
- CSS选择器
- 最小的k个数
- 一口一口吃成胖子-JDK
- 第十、十一周项目1:阅读程序,并写出运行结果(5)