Android监听网络连接情况
2015-11-05 16:21
555 查看
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** *网络连接Receiver,如果网络中途断掉,进行相应提示 * @author * */ public class ConnectionChangeReceiver extends BroadcastReceiver { private onNetworkChangedListener mOnNetworkChangedListener; public void setOnNetworkChangedListener( onNetworkChangedListener onNetworkChangedListener) { this.mOnNetworkChangedListener = onNetworkChangedListener; } @Override public void onReceive(Context context, Intent intent) { if(mOnNetworkChangedListener != null){ mOnNetworkChangedListener.onNetworkChanged(isNetworkAvailable(context)); } } public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { return false; } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; } public static interface onNetworkChangedListener{ public void onNetworkChanged(boolean isConnected); } }
先定义一个监听网络的广播***
然后用的时候
mConnectionChangeReceiver = new ConnectionChangeReceiver(); mConnectionChangeReceiver .setOnNetworkChangedListener(new ConnectionChangeReceiver.onNetworkChangedListener() { @Override public void onNetworkChanged(boolean isConnected) { if ( !isConnected) { //断开网络的情况 } else {<span style="font-family: Arial, Helvetica, sans-serif;"> //连接网络的情况 </span> } } }); } IntentFilter broadcastFilter = new IntentFilter( "android.net.conn.CONNECTIVITY_CHANGE"); if (mConnectionChangeReceiver != null) { registerReceiver(mConnectionChangeReceiver, broadcastFilter); }
记得声明mConnectionChangeReceiver
相关文章推荐
- 黑马程序员------网络编程
- Zigbee有线网络转zigbee网关API
- TCP 和 UDP 在socket编程中的区别(转)
- HttpServletResponse对象(二)
- 【HDU5442 2015长春网络赛F】字符串最小表示法+函数逆用循环节法+翻转串字符串哈希法
- Linux运维 第三阶段 (十二)tcp wrapper
- 【错误记录】HttpServletRequest.getParameter获取不到数据
- ECharts+百度地图网络拓扑图应用
- using nginx as http load balancer
- Tcp长连接与短连接对高并发的影响
- 老李分享:HTTP协议之协议头
- 老李分享:HTTP协议之请求和响应
- Android为网络请求自定义加载动画
- 老李秘技:loadrunner回放脚本错误提示Error: "HTTP Status-Code 500"
- 模拟使用Socket的TCP协议进行交换(1)
- linux 下配置 https ssl
- TCP+swing实现
- android OkHttp的使用
- Linux网络编程常用API(一)
- 网络请求图片 SDWebImage