需求:通过广播告知前台,当前网络状态
解决方案:class ConnectionChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(context.CONNECTIVITY_SERVICE);
if (conManager.getActiveNetworkInfo() != null) {
if (conManager.getActiveNetworkInfo().isAvailable()) {
//send message to UI
} else {
//send message to UI
}
}
}
}
注:要判断conManager.getActiveNetworkInfo()是否为空,否则在开启应用时会报错。
还可以判断当前网络连接类型:
NetworkInfo info_wifi = conManager.getNetworkInfo(conManager.TYPE_WIFI)
NetworkInfo info_moBile = conManager.getNetworkInfo(conManager.TYPE_MOBILE)
....