package com.mogujie.tt.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.mogujie.tt.R; import com.mogujie.tt.conn.NetStateManager; import com.mogujie.tt.socket.SocketStateManager; import com.mogujie.tt.utils.CommonUtil; import com.mogujie.tt.widget.PinkToast; public class ConnectionChangeReceiver extends BroadcastReceiver { private boolean bDisconnected = false; private NetStateManager nsmInstance = NetStateManager.getInstance(); private SocketStateManager ssmInstance = SocketStateManager.getInstance(); @Override public void onReceive(Context context, Intent intent) { boolean success = false; try { // 获得网络连接服务 ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (null != cm) { NetworkInfo ni = cm.getActiveNetworkInfo(); if (null != ni && ni.isAvailable()) { success = true; } } } catch (Exception e) { success = false; } if (!success) { bDisconnected = true; if (CommonUtil.isInIm(context)) { PinkToast.makeText(context, context.getString(R.string.network_has_disconnected), Toast.LENGTH_LONG).show(); } nsmInstance.setState(false); ssmInstance.setState(false); } else { if (bDisconnected) { nsmInstance.setState(true); } bDisconnected = false; } } }