From 6dbd495275d37705d3faa901e5b7c34f8da43a87 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 23 六月 2025 14:21:02 +0800
Subject: [PATCH] 2025年06月23日14:20:50

---
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index db20c5c..0f6a697 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -34,6 +34,7 @@
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.LoginActivity;
+import com.hdl.photovoltaic.ui.StartActivity;
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.photovoltaic.utils.AppManagerUtils;
 import com.hdl.photovoltaic.utils.LocalManageUtil;
@@ -44,10 +45,12 @@
 import com.hdl.sdk.link.core.connect.HDLUdpConnect;
 import com.hdl.sdk.link.core.utils.QueueUtils;
 import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
+import com.umeng.analytics.MobclickAgent;
 //import com.umeng.commonsdk.UMConfigure;
 
 import org.greenrobot.eventbus.EventBus;
 
+import java.io.Console;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
@@ -88,6 +91,7 @@
     @Override
     public void onCreate() {
         super.onCreate();
+        Log.d("=======", "11111111");
 //        // 鑾峰彇褰撳墠杩涚▼鐨凱ID
 //        String processMessage= "杩涚▼ID:"+Process.myPid()+" 杩涚▼鍚嶏細"+RuningAcitvityUtil.getAppName(getBaseContext());
 //        Log.d(TAG, processMessage);
@@ -204,6 +208,7 @@
      * 鍒濆鍖朒DLLinkPMSdk
      */
     private void initHDLLinkPMSdk() {
+        Log.d("===1====", "2222222");
         //1.鍒濆鍖朣DK
         HDLLinkPMSdk.initWithAppKey(this, AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
         //2.璁剧疆鎵撳嵃
@@ -228,6 +233,13 @@
         HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
             @Override
             public void onReLogin(int type) {
+                if (5 == type) {
+                    //鍒囨崲鏈嶅姟鍣ㄥ湴鍧�鐢ㄧ殑
+                    UserConfigManage.getInstance().setOnlineServer(!UserConfigManage.getInstance().isOnlineServer());
+                    UserConfigManage.getInstance().Save();
+                    restartApp(mHDLApp);
+                    return;
+                }
 
                 HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
                 //type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
@@ -435,4 +447,42 @@
             return this;
         }
     }
+
+    /**
+     * 閲嶅惎app
+     */
+    private void restartApp(Context context) {
+        try {
+            MobclickAgent.onKillProcess(context);
+            Intent intent = new Intent(context, StartActivity.class);
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+            context.startActivity(intent);
+            killAppProcess(context);
+        } catch (Exception e) {
+            String a = e.getMessage();
+        }
+    }
+
+    private void killAppProcess(Context context) {
+//        AppManagerUtils.getAppManager().finishAllActivity();
+        try {
+            android.app.ActivityManager manager = (android.app.ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+            List<android.app.ActivityManager.RunningAppProcessInfo> processInfos = manager.getRunningAppProcesses();
+            // 鍏堟潃鎺夌浉鍏宠繘绋嬶紝鏈�鍚庡啀鏉�鎺変富杩涚▼
+            for (android.app.ActivityManager.RunningAppProcessInfo runningAppProcessInfo : processInfos) {
+                if (runningAppProcessInfo.pid != android.os.Process.myPid()) {
+                    try {
+                        android.os.Process.killProcess(runningAppProcessInfo.pid);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+
+            android.os.Process.killProcess(android.os.Process.myPid());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        System.exit(0);
+    }
 }

--
Gitblit v1.8.0