package com.sxjs.common.receiver;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import com.sxjs.common.widget.NoNetWorkNotice;
/**
* @author:admin on 2017/4/11 18:06.
*/
public class NetWorkChangeBroadcastReceiver extends BroadcastReceiver {
private Activity activity;
private NoNetWorkNotice noNetWorkNotice;
public NetWorkChangeBroadcastReceiver(Activity activity) {
this.activity = activity;
}
public NetWorkChangeBroadcastReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager=
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager!=null) {
if(noNetWorkNotice == null) noNetWorkNotice = NoNetWorkNotice.getInstance(activity);
NetworkInfo[] networkInfos=connectivityManager.getAllNetworkInfo();
for (NetworkInfo networkInfo : networkInfos) {
NetworkInfo.State state = networkInfo.getState();
if (NetworkInfo.State.CONNECTED == state) {
if(null != noNetWorkNotice && noNetWorkNotice.isShowing()){
noNetWorkNotice.cancel();
}
return;
}
}
if(null != noNetWorkNotice && !noNetWorkNotice.isShowing()){
noNetWorkNotice.show();
}
}
}
public void onDestroy(){
if(null != noNetWorkNotice){
if(noNetWorkNotice.isShowing()){
noNetWorkNotice.cancel();
}
activity = null;
noNetWorkNotice = null;
}
}
}