NetBroadcastReceiver.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.hanghui.senic.receiver;
  2. import android.content.BroadcastReceiver;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.net.ConnectivityManager;
  6. import android.net.NetworkInfo;
  7. import com.hanghui.senic.common.Constants;
  8. import com.hanghui.senic.network.HttpRequest;
  9. import com.hanghui.senic.service.usbserialdemo.utile.ConfigManager;
  10. import com.hanghui.senic.service.usbserialdemo.utile.PopupWindowManager;
  11. import com.hanghui.senic.service.usbserialdemo.utile.loacat.AppLogUtils;
  12. public class NetBroadcastReceiver extends BroadcastReceiver {
  13. @Override
  14. public void onReceive(Context context, Intent intent) {
  15. ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  16. NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
  17. AppLogUtils.i(false, "NetBroadcastReceiver", "networkInfo=" + networkInfo);
  18. if (networkInfo != null) {
  19. AppLogUtils.e(false, "", "广播返回网络正常后销毁悬浮框 ");
  20. PopupWindowManager.getInstance().dismissNetWorkpopupWindow();
  21. netNetworkCallback.updateView(Constants.Code_internetAvailable, "网络恢复");
  22. if (!ConfigManager.isConfigRequestSuccess) {
  23. HttpRequest.getInstance().postRequestConfigRunnable(2 * 1000);
  24. }
  25. } else {
  26. AppLogUtils.e(false, "", "广播获取到网络异常 悬浮框展示");
  27. PopupWindowManager.showFloatIfNoNetwork();
  28. netNetworkCallback.updateView(Constants.Code_internetUnAvailable, "网络异常");
  29. }
  30. }
  31. public NetNetworkCallback netNetworkCallback;
  32. public NetNetworkCallback getNetNetworkCallback() {
  33. return netNetworkCallback;
  34. }
  35. public void setNetNetworkCallback(NetNetworkCallback netNetworkCallback) {
  36. this.netNetworkCallback = netNetworkCallback;
  37. }
  38. public interface NetNetworkCallback {
  39. void updateView(int code, String msg);
  40. }
  41. }