From 9f54cbe96c0350b9f57466e2556025a80d740d3a Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 26 三月 2024 17:45:16 +0800 Subject: [PATCH] 2024年03月26日17:45:08 --- app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java | 61 ++++++++++++++++++++++++------ 1 files changed, 48 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java index 1eded93..0036f55 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java @@ -2,14 +2,17 @@ import android.os.Bundle; +import android.os.Process; import android.os.SystemClock; import android.text.TextUtils; + import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.home.type.HomeType; import com.hdl.photovoltaic.HDLApp; +import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.bean.MqttInfo; import com.hdl.photovoltaic.config.ConstantManage; @@ -28,6 +31,7 @@ import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; +import com.hdl.photovoltaic.utils.AppManagerUtils; import com.hdl.sdk.link.HDLLinkLocalSdk; import com.hdl.sdk.link.common.event.EventListener; import com.hdl.sdk.link.core.bean.LinkResponse; @@ -53,6 +57,7 @@ private ActivityCpowerStationBinding viewBinding; private EventListener allTopicsListener; + private int backPressTimes; @Override public Object getContentView() { @@ -105,8 +110,10 @@ if (deviceRemoteInfo != null) { //鏇存柊mqtt閫氳鐨勬柊绉橀挜 gatewayBean.setAesKey(deviceRemoteInfo.getSecret()); + gatewayBean.setGatewayId(deviceRemoteInfo.getGatewayId()); //鐢ㄤ箣鍓嶇殑搴�,搴曞眰mqtt璁㈤槄锛屽姞瑙e瘑浼氱敤鍒拌鍙傛暟; HDLLinkConfig.getInstance().setAesKey(deviceRemoteInfo.getSecret());//璁剧疆mqtt閫氳绉橀挜搴� + HDLLinkConfig.getInstance().setGatewayId(deviceRemoteInfo.getGatewayId());//璁剧疆GatewayId } } @@ -149,6 +156,31 @@ } }); } + } else if (event.getTopic().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL) + && event.getType().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK)) { + //鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢) + if (AppManagerUtils.getAppManager().getActivitySize() <= 1) { + if (backPressTimes == 0) { + HdlThreadLogic.toast(_mActivity, R.string.kill_app); + backPressTimes = 1; + new Thread() { + @Override + public void run() { + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } finally { + backPressTimes = 0; + } + } + }.start(); + return; + } else { + AppManagerUtils.getAppManager().finishAllActivity(); + Process.killProcess(Process.myPid()); + } + } } } @@ -170,6 +202,7 @@ } } HouseIdBean houseIdBean = HouseIdList.get(select_home); + HdlResidenceLogic.getInstance().switchHouse(houseIdBean); String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() @@ -178,6 +211,7 @@ } } + @Override protected void onDestroy() { @@ -247,21 +281,22 @@ * 鍒濆鍖杕qtt瀹㈡埛绔� */ public void initMqttClient() { - - HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() { - @Override - public void onSuccess(MqttInfo info) { - if (info != null) { - MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord()); - MqttRecvClient.getInstance().connect(); + if (!MqttRecvClient.getInstance().isInit()) { + HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() { + @Override + public void onSuccess(MqttInfo info) { + if (info != null) { + MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord()); + MqttRecvClient.getInstance().connect(); + } } - } - @Override - public void onFailure(HDLException e) { - HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触--->" + e.getMessage(), e.getCode(), true); - } - }); + @Override + public void onFailure(HDLException e) { + HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触--->" + e.getMessage(), e.getCode(), true); + } + }); + } } /** -- Gitblit v1.8.0