收听网络状态广播
1 package com.jingle.networkbroadcast.receiver; 2 3 import com.jingle.networkbroadcast.util.LogUtil; 4 5 import android.content.BroadcastReceiver; 6 import android.content.Context; 7 import android.content.Intent; 8 import android.net.ConnectivityManager; 9 import android.net.NetworkInfo; 10 import android.os.Bundle; 11 12 public class NetworkStateReceiver extends BroadcastReceiver { 13 14 @Override 15 public void onReceive(Context context, Intent intent) { 16 // TODO Auto-generated method stub 17 Bundle bundle = intent.getExtras(); 18 String content; 19 //打印传进来的bundle信息 20 for (String key : bundle.keySet()) { 21 if ((content = bundle.getString(key)) != null) { 22 LogUtil.getDebugLog("key: " + key + " content: " + content); 23 LogUtil.getDevider(); 24 } 25 } 26 LogUtil.getInfoLog("network state changed"); 27 if (!isNetworkAvailable(context)) { 28 LogUtil.getInfoLog("网络失去连接"); 29 } 30 31 } 32 33 public static boolean isNetworkAvailable(Context context) { 34 ConnectivityManager connMng = (ConnectivityManager) context 35 .getSystemService(Context.CONNECTIVITY_SERVICE); 36 NetworkInfo infos[] = connMng.getAllNetworkInfo(); 37 if (infos != null) { 38 for (NetworkInfo info : infos) { 39 //只要networkinfo中有状态为connected就返回true,否则返回false 40 if (info.getState() == NetworkInfo.State.CONNECTED) { 41 return true; 42 } 43 } 44 } 45 return false; 46 } 47 48 }