Android监听网络连接情况

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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值