From 336727de9db9401a0ed0bb5e0caf080d2e69f850 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 26 六月 2025 11:59:19 +0800
Subject: [PATCH] 2025年06月26日11:59:15

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

diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 2ddf9e6..dfce959 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,11 +1,13 @@
 package com.hdl.photovoltaic;
 
 import android.app.Activity;
+import android.app.ActivityManager;
 import android.app.Application;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.os.Build;
+import android.os.Handler;
 import android.os.LocaleList;
 import android.os.Process;
 import android.os.SystemClock;
@@ -33,6 +35,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;
@@ -43,15 +46,18 @@
 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.commonsdk.UMConfigure;
+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;
 import java.util.Objects;
 
-import cn.jpush.android.api.JPushInterface;
+//import cn.jpush.android.api.JPushInterface;
 import io.dcloud.common.util.RuningAcitvityUtil;
 import me.jessyan.autosize.AutoSize;
 import me.jessyan.autosize.AutoSizeConfig;
@@ -61,7 +67,7 @@
 
 public class HDLApp extends Application {
 
-    final String TAG=HDLApp.class.getName();
+    final String TAG = HDLApp.class.getName();
     //鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃
     private Boolean isLogEnabled = true;
     //涓夋柟sdk鍒濆鍖栨爣璇�
@@ -86,13 +92,14 @@
     @Override
     public void onCreate() {
         super.onCreate();
-        // 鑾峰彇褰撳墠杩涚▼鐨凱ID
-        String processMessage= "杩涚▼ID:"+Process.myPid()+" 杩涚▼鍚嶏細"+RuningAcitvityUtil.getAppName(getBaseContext());
-        Log.d(TAG, processMessage);
-        if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
-            //闈炲師鐢熻繘绋嬶紝鐢ㄥ垵濮嬪寲鍚庨潰鐨�
-            return;
-        }
+        Log.d("=======", "11111111");
+//        // 鑾峰彇褰撳墠杩涚▼鐨凱ID
+//        String processMessage= "杩涚▼ID:"+Process.myPid()+" 杩涚▼鍚嶏細"+RuningAcitvityUtil.getAppName(getBaseContext());
+//        Log.d(TAG, processMessage);
+//        if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
+//            //闈炲師鐢熻繘绋嬶紝鐢ㄥ垵濮嬪寲鍚庨潰鐨�
+//            return;
+//        }
         mHDLApp = this;
         SharedPreUtils.init(this);
         getAppLanguage();
@@ -178,8 +185,8 @@
         this.networkMonitoring();
         //鍒濆鍖栨湰鍦癮ssets鏂囦欢澶硅祫婧愭枃浠�
 //        this.initLocalAssetsData();
-        //鍒濆鍖栧弸鐩烻DK
-        initUMengSDK();
+//        //鍒濆鍖栧弸鐩烻DK锛屾斁鍦⊿tartActivity閲岄潰鍒濆鍖�
+//        initUMengSDK();
 
 
     }
@@ -189,12 +196,12 @@
      * 闆嗘垚鏁欑▼鍦板潃锛歨ttps://developer.umeng.com/docs/119267/detail/118588
      */
     private void initUMengSDK() {
-        UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar");
-        //appkey鍜宑hannl蹇呴』淇濇寔鍜岄鍒濆鍖栦竴鑷达紒锛侊紒
-        //deviceType锛氳澶囩被鍨嬶紝UMConfigure.DEVICE_TYPE_PHONE涓烘墜鏈恒�乁MConfigure.DEVICE_TYPE_BOX涓虹洅瀛�
-        //pushSecret锛歅ush鎺ㄩ�佷笟鍔$殑secret
-        UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, "");
-        UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug()
+//        UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar");
+//        //appkey鍜宑hannl蹇呴』淇濇寔鍜岄鍒濆鍖栦竴鑷达紒锛侊紒
+//        //deviceType锛氳澶囩被鍨嬶紝UMConfigure.DEVICE_TYPE_PHONE涓烘墜鏈恒�乁MConfigure.DEVICE_TYPE_BOX涓虹洅瀛�
+//        //pushSecret锛歅ush鎺ㄩ�佷笟鍔$殑secret
+//        UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, "");
+//        UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug()
     }
 
 
@@ -202,6 +209,7 @@
      * 鍒濆鍖朒DLLinkPMSdk
      */
     private void initHDLLinkPMSdk() {
+        Log.d("===1====", "2222222");
         //1.鍒濆鍖朣DK
         HDLLinkPMSdk.initWithAppKey(this, AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
         //2.璁剧疆鎵撳嵃
@@ -226,46 +234,61 @@
         HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
             @Override
             public void onReLogin(int type) {
-                HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
-                //type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
-                //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰
-                AppManagerUtils.getAppManager().finishAllActivity();
+                if (100 == type) {
+                    new Handler().postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            //鍒囨崲鏈嶅姟鍣ㄥ湴鍧�鐢ㄧ殑
+                            UserConfigManage.getInstance().setOnlineServer(!UserConfigManage.getInstance().isOnlineServer());
+                            UserConfigManage.getInstance().Save();
+                            restartApp(mHDLApp);
+                        }
+                    }, 500);
+                    ;
+                } else {
+                    HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
+                    //type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
+                    //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰
+                    AppManagerUtils.getAppManager().finishAllActivity();
 //                HDLSDKSPUtils.clear();//搴曞眰鑷繁娓呯┖
 
-                //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥
-                UserConfigManage.getInstance().setAcceiptPolicy(false);
-                //閲嶆柊璁惧畾涓�涓椂闂�
-                UserConfigManage.getInstance().setLoginDateTime(0);
-                UserConfigManage.getInstance().Save();
+                    //娓呯┖浣忓畢id
+                    UserConfigManage.getInstance().setHomeId("");
+                    //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥
+                    UserConfigManage.getInstance().setAcceiptPolicy(false);
+                    //閲嶆柊璁惧畾涓�涓椂闂�
+                    UserConfigManage.getInstance().setLoginDateTime(0);
+                    UserConfigManage.getInstance().Save();
 
-                //娓呯┖娑堟伅缂撳瓨鏁版嵁
-                HdlMessageLogic.getInstance().clearListMessage();
-                //娓呯┖鐢电珯缂撳瓨鏁版嵁
-                HdlResidenceLogic.getInstance().clearHouseList();
-                //娓呯┖璁惧缂撳瓨鏁版嵁
-                HdlDeviceLogic.getInstance().clearDeviceList();
-                //娓呯┖缂撳瓨鏁版嵁
-                if (mInfoMap != null) {
-                    mInfoMap.clear();
-                }
-                //鏂紑mqtt杩炴帴
-                if (MqttRecvClient.getInstance() != null) {
-                    MqttRecvClient.getInstance().disConnect();
-                }
-                //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
-                // TODO: 10/10/23
+                    //娓呯┖娑堟伅缂撳瓨鏁版嵁
+                    HdlMessageLogic.getInstance().clearListMessage();
+                    //娓呯┖鐢电珯缂撳瓨鏁版嵁
+                    HdlResidenceLogic.getInstance().clearHouseList();
+                    //娓呯┖璁惧缂撳瓨鏁版嵁
+                    HdlDeviceLogic.getInstance().clearDeviceList();
+                    //娓呯┖缂撳瓨鏁版嵁
+                    if (mInfoMap != null) {
+                        mInfoMap.clear();
+                    }
+                    //鏂紑mqtt杩炴帴
+                    if (MqttRecvClient.getInstance() != null) {
+                        MqttRecvClient.getInstance().disConnect();
+                    }
+                    //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
+                    // TODO: 10/10/23
 //                TcpSocketBoot.stopAllConnectLinkGateway();
-                if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
-                    HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+                    if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+                        HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+                    }
+                    SystemClock.sleep(200);
+                    initDCUniMPSDK();
+                    Intent intent = new Intent(getInstance(), LoginActivity.class);
+                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                    if (type == 1) {
+                        intent.putExtra("isJpush", true);
+                    }
+                    startActivity(intent);
                 }
-                SystemClock.sleep(200);
-                initDCUniMPSDK();
-                Intent intent = new Intent(getInstance(), LoginActivity.class);
-                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
-                if (type == 1) {
-                    intent.putExtra("isJpush", true);
-                }
-                startActivity(intent);
 
             }
         });
@@ -300,8 +323,8 @@
      * 鍒濆鍖栨瀬鍏塖DK
      */
     private void initJPush() {
-        JPushInterface.setDebugMode(true);
-        JPushInterface.init(getBaseContext());
+//        JPushInterface.setDebugMode(true);
+//        JPushInterface.init(getBaseContext());
     }
 
     /**
@@ -430,4 +453,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