From 05581cb7328000de65c5e8c1ef12b366b44b11b1 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 02 四月 2024 13:47:41 +0800 Subject: [PATCH] 2024年04月02日13:47:34 --- app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java | 69 ++++++++++++++++++++++++++++++++-- 1 files changed, 64 insertions(+), 5 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 1f8448e..b66e48c 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,10 @@ import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; +import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; +import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; +import com.hdl.photovoltaic.widget.ConfirmationTipDialog; import com.hdl.sdk.link.HDLLinkLocalSdk; import com.hdl.sdk.link.common.event.EventListener; import com.hdl.sdk.link.core.bean.LinkResponse; @@ -35,6 +42,7 @@ import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; import com.hdl.sdk.link.core.config.HDLLinkConfig; +import com.hdl.sdk.link.core.connect.HDLUdpConnect; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; import org.greenrobot.eventbus.Subscribe; @@ -53,6 +61,7 @@ private ActivityCpowerStationBinding viewBinding; private EventListener allTopicsListener; + private int backPressTimes; @Override public Object getContentView() { @@ -62,6 +71,8 @@ @Override public void onBindView(Bundle savedInstanceState) { + setNotificationBarBackgroundColor(CustomColor.white); + setStatusBarTextColor(); //C绔惎鍔ˋpp鑷姩鎵撳紑灏忕▼搴忕數绔欒鎯呯晫闈� startAppAutomaticallyOpenUni(); //娉ㄥ唽鐩戝惉 @@ -70,6 +81,13 @@ this.initMqttClient(); //涓婁紶鏋佸厜娉ㄥ唽ID鍒颁簯绔� this.pushTokens(); + } + + @Override + protected void onResume() { + super.onResume(); + //鍚姩椤典笌mainActivity鏍峰紡涓�鏍凤紝杩欐牱鍚姩椤靛拰mainActivity鐪嬩笂鍘绘槸涓�涓晫闈紝鐩殑鏄负浜唌ainActivity閬綇涓嬩竴椤碉紱 + AppManagerUtils.getAppManager().finishActivity(StartActivity.class); } @Subscribe(threadMode = ThreadMode.MAIN) @@ -151,6 +169,9 @@ } }); } + } else if (event.getTopic().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL) && event.getType().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK)) { + //鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢) + killProcessApp(); } } @@ -173,14 +194,52 @@ } 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() - + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); + String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); HdlUniLogic.getInstance().openUniMP(path, null); } + } + +// /** +// * 鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢) +// */ +// @Override +// public void onBackPressed() { +// killProcessApp(); +// super.onBackPressed(); +// } + + private void killProcessApp() { + //鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢) + 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 { + //鍏抽棴灏忕▼搴� + if (null != HDLUniMPSDKManager.getInstance().getUniMP()) { + HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP(); + } + AppManagerUtils.getAppManager().finishAllActivity(); + Process.killProcess(Process.myPid()); + } + } + } + @Override protected void onDestroy() { @@ -255,7 +314,7 @@ @Override public void onSuccess(MqttInfo info) { if (info != null) { - MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord()); + MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord(),null); MqttRecvClient.getInstance().connect(); } } -- Gitblit v1.8.0