From 2b624347a56d7f50ce0be4aa085454a9f6a0dac6 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 25 十二月 2023 10:12:00 +0800 Subject: [PATCH] 2023年12月25日10:11:49 --- app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 51 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java index 5ebc5e1..46cba3f 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java @@ -4,11 +4,9 @@ import androidx.appcompat.content.res.AppCompatResources; import android.Manifest; -import android.content.ComponentName; -import android.content.ServiceConnection; +import android.content.IntentFilter; import android.content.pm.PackageManager; import android.os.Bundle; -import android.os.IBinder; import android.os.Process; import android.text.TextUtils; import android.view.View; @@ -19,9 +17,11 @@ import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.bean.MqttInfo; +import com.hdl.photovoltaic.broadcast.NetworkChangeReceiver; import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding; +import com.hdl.photovoltaic.enums.NetworkType; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; @@ -62,6 +62,8 @@ private int backPressTimes; + private NetworkChangeReceiver networkChangeReceiver; + @Override public Object getContentView() { @@ -73,13 +75,15 @@ public void onBindView(Bundle savedInstanceState) { setNotificationBarBackgroundColor(CustomColor.blue); //鍒濆鍖� - initView(); + this.initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 - initEvent(); + this.initEvent(); //娉ㄥ唽鐩戝惉 - registerAllTopicsListener(); + this.registerAllTopicsListener(); //鍒濆鍖杕qtt瀹㈡埛绔� - initMqttClient(); + this.initMqttClient(); + //鐩戝惉缃戠粶鐘舵�佸彉鍖� + this.networkMonitoring(); // HdlOtaLogic.getInstance().startLocalService(new ServiceConnection() { // @Override @@ -93,6 +97,16 @@ // } // }); + } + + /** + * 鐩戝惉缃戠粶鐘舵�佸彉鍖� + */ + private void networkMonitoring() { + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); + networkChangeReceiver = new NetworkChangeReceiver(); + registerReceiver(networkChangeReceiver, intentFilter); } private void initEvent() { @@ -130,11 +144,13 @@ HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack(); //绉婚櫎鐩戝惉 HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener); + //绉婚櫎鐩戝惉缃戠粶鐘舵�佸彉鍖� + unregisterReceiver(networkChangeReceiver); } private void initView() { - viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.power_station); + viewBinding.myPowerStationBottomIl1.titleTv.setText("棣栭〉");// viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message); viewBinding.myMeBottomIl3.titleTv.setText(R.string.power_station_me); this.bottomViewChangeOfStyle(); @@ -342,6 +358,33 @@ uniCallBackBaseBean.setData(event.getData()); HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL, uniCallBackBaseBean); HdlLogLogic.print(event.getTopic() + new Gson().toJson(event.getData()), true); + } else if (event.getTopic().contains(ConstantManage.network_change_post)) { +// String wifi_ssid = WifiUtils.getInstance().getCurrentConnectWifiSsid();//鑾峰彇WiFi鐨剆sid闇�瑕佷綅缃潈闄愮殑 + HdlLogLogic.print("鐩戝惉缃戠粶鐘舵��--->" + event.getData().toString() + "(" + event.getType() + ")", true); + //绗竴娆″惎鍔ˋpp,浠ュ強鍒囨崲缃戠粶鐨勬椂鍊欐洿鏂� + if (TextUtils.isEmpty(UserConfigManage.getInstance().getHomeId())) { + return; + } + if (!event.getType().equals(NetworkType.no_network.toString())) { +// AppManagerUtils.getAppManager().showLoading(); + HdlThreadLogic.runSubThread(new Runnable() { + @Override + public void run() { + HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<GatewayBean>>() { + @Override + public void onSuccess(List<GatewayBean> obj) { +// AppManagerUtils.getAppManager().hideLoading(); + + } + + @Override + public void onFailure(HDLException e) { +// AppManagerUtils.getAppManager().hideLoading(); + } + }); + } + }); + } } } -- Gitblit v1.8.0