From a5eb099b7a1244fafccd6d6a37d634332d89c295 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 23 五月 2025 14:05:28 +0800
Subject: [PATCH] 2025年05月23日14:05:26

---
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java |   67 +++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 20 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
index 6f5b2e7..4bf4e9c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
@@ -1,15 +1,22 @@
 package com.hdl.photovoltaic.uni;
 
+import android.app.ActivityManager;
 import android.app.Application;
 import android.content.Context;
+import android.os.Build;
 import android.os.Environment;
+import android.os.Process;
 import android.text.TextUtils;
+import android.util.Log;
 
 
 import com.google.gson.Gson;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
 import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LowerTagType;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -20,8 +27,10 @@
 
 import java.io.File;
 import java.util.HashMap;
+import java.util.List;
 
 import io.dcloud.common.DHInterface.ICallBack;
+import io.dcloud.common.util.RuningAcitvityUtil;
 import io.dcloud.feature.sdk.DCSDKInitConfig;
 import io.dcloud.feature.sdk.DCUniMPSDK;
 import io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback;
@@ -34,6 +43,10 @@
 
 public class HDLUniMPSDKManager {
     private static final String TAG = "HDLUniMPSDKManager";
+    /**
+     * 鏍囪鐧诲綍鐣岄潰鏄惁宸茬粡瀛樺湪
+     */
+    public static boolean isExistsActivity = false;
     /**
      * context
      */
@@ -104,9 +117,10 @@
         DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(new IUniMPOnCloseCallBack() {
             @Override
             public void onClose(String appid) {
-                if (AppConfigManage.isDebug()) {
-                    HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡  琚叧闂簡");
-                }
+//                if (AppConfigManage.isDebug()) {
+//                    HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡  琚叧闂簡");
+//                }
+                HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡  琚叧闂簡", true);
                 //灏忕▼搴忚鍏抽棴闇�瑕佸瀹炰緥缂撳瓨鍒犻櫎鎿嶄綔
                 if (mUniMPCaches.containsKey(appid)) {
                     mUniMPCaches.remove(appid);
@@ -118,7 +132,8 @@
 
                 //灏忕▼搴忚鍏抽棴浜嗛�氱煡缁欏師鐢�
                 BaseEventBus baseEventBus = new BaseEventBus();
-                baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
+                baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
+                baseEventBus.setType(LowerTagType.power_station.toString());
                 EventBus.getDefault().post(baseEventBus);
 
             }
@@ -130,10 +145,11 @@
             public void onUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
 //                handelUniMPEventReceive(appid, event, data, callback);
                 HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡    event=" + event);
+//                String processMessage = Process.myPid() + " ";
+//                HdlLogLogic.print("杩涚▼淇℃伅锛�" + processMessage);
                 //鏆傛椂閫氳繃杩欎釜澶勭悊灏忕▼搴忓悓鏃跺鏉$浉鍚岀殑璇锋眰
                 if (data == null) {
                     HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡,data鏁版嵁涓簄ull銆�", true);
-
                     return;
                 }
 //                String key= MD5Utils.getMd5(event+data.toString());
@@ -155,7 +171,13 @@
                     if (onOtherUniMPEventCallBack != null) {
                         onOtherUniMPEventCallBack.onOtherUniMPEventReceive(appid, event, data, callback);
                     } else {
-                        HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡,鍥炶皟浜嬩欢涓簄ull,鏃犳硶鍥炶皟浜嬩欢骞舵墽琛屼笟鍔¢�昏緫--->event=" + event + "\r\n" + "data=" + data, true);
+                        if (!HDLUniMPSDKManager.isExistsActivity) {
+                            HDLUniMPSDKManager.isExistsActivity = true;
+                            HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡,鍥炶皟浜嬩欢涓簄ull,鏃犳硶鍥炶皟浜嬩欢骞舵墽琛屼笟鍔¢�昏緫---event=" + event + "\r\n" + "data=" + data, true);
+                            //鏈夊彲鑳芥槸绯荤粺鍥炴敹鎺塧ctivity瀵艰嚧鍥炶皟涓簄ull锛岃繖鏍锋儏鍐典笅寮哄埗杩斿洖鐧诲綍鐣岄潰锛�
+                            //todo 闀挎椂闂存病鍝嶅簲灏嗛��鍑虹櫥褰曠晫闈㈤噸鏂扮櫥褰�
+                            HDLLinkPMUser.getInstance().logout(0);
+                        }
                     }
                 }
             }
@@ -255,15 +277,6 @@
         return true;
     }
 
-    /**
-     * 鎵撳紑灏忕▼搴�
-     *
-     * @param uniAppId   灏忕▼搴廔D
-     * @param path       鎸囧畾璺緞
-     *                   渚嬶細pages/component/scroll-view/scroll-view?a=1&b=2&c=3
-     * @param jsonObject 闄勫姞鏁版嵁
-     * @param callBack   鐩戝惉灏忕▼搴廜therUniMPEvent浜嬩欢
-     */
     public void openUniMP(String uniAppId, String path, JSONObject jsonObject, IOnOtherUniMPEventCallBack callBack) {
         if (TextUtils.isEmpty(uniAppId)) {
             HdlThreadLogic.toast(mContext, "uni Id null");
@@ -279,14 +292,26 @@
                 UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
                 uniMPOpenConfiguration.path = path;
                 uniMPOpenConfiguration.extraData = jsonObject;
+                if (UserConfigManage.getInstance().getUniBottomSafeDistanceBackgroundColor() == 0) {
+                    uniMPOpenConfiguration.splashClass = CSplashView.class;
+                } else {
+                    uniMPOpenConfiguration.splashClass = BSplashView.class;
+                }
                 uniMP = DCUniMPSDK.getInstance().openUniMP(mContext, uniAppId, uniMPOpenConfiguration);
             }
+//            //android14鏈変簺璁惧鏈夐棶棰橈紝闇�瑕佺瓑寰�
+//            if (android.os.Build.VERSION.SDK_INT >= 34) {
+//                if (TextUtils.isEmpty(mCurrentAppId)) {
+//                    //绗竴娆$敤瑕佷紤鐪�
+//                    SystemClock.sleep(1000);
+//                }
+//            }
             mCurrentAppId = uniAppId;//璁板綍褰撳墠灏忕▼搴�
             mUniMPCaches.put(uniMP.getAppid(), uniMP);
         } catch (Exception e) {
             e.printStackTrace();
             HdlThreadLogic.toast(HDLApp.getInstance(), R.string.uni_open_error);
-            initDCUniMPSDK(HDLApp.getInstance());
+//            initDCUniMPSDK(HDLApp.getInstance());
             HdlLogLogic.print("鎵撳紑澶辫触===" + e.getMessage());
         }
     }
@@ -295,6 +320,7 @@
      * 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
      */
     public void initDCUniMPSDK(Context mContext) {
+        HdlLogLogic.print("UniMPSDK鐘舵��---" + DCUniMPSDK.getInstance().isInitialize(), true);
         if (DCUniMPSDK.getInstance().isInitialize()) {
             return;
         }
@@ -358,12 +384,12 @@
         if (mUniMPCaches.containsKey(uniAppId)) {
             if (mUniMPCaches.get(uniAppId) != null) {
                 mUniMPCaches.get(uniAppId).sendUniMPEvent(topic, data);
-                HdlLogLogic.print("Android--->閫氱煡---uni--->涓婚:" + topic + "--->鍙戦�佹暟鎹�:" + new Gson().toJson(data));
+//                HdlLogLogic.print("Android---閫氱煡---uni---涓婚:" + topic + "---鍙戦�佹暟鎹�:" + new Gson().toJson(data));
             } else {
-                HdlLogLogic.print("Android--->閫氱煡---uni--->澶辫触--->灏忕▼搴忓璞′负绌�:" + uniAppId);
+//                HdlLogLogic.print("Android---閫氱煡---uni---澶辫触---灏忕▼搴忓璞′负绌�:" + uniAppId);
             }
         } else {
-            HdlLogLogic.print("Android--->閫氱煡---uni--->澶辫触--->灏忕▼搴忓璞′负绌�:" + uniAppId);
+//            HdlLogLogic.print("Android---閫氱煡---uni---澶辫触---卢灏忕▼搴忓璞′负绌�:" + uniAppId);
         }
 
     }
@@ -414,9 +440,10 @@
      * @param onOtherUniMPEventCallBack -
      */
     public void checkRemoveOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) {
+        HdlLogLogic.print("onOtherUniMPEventCallBack", true);
         if (this.onOtherUniMPEventCallBack == onOtherUniMPEventCallBack) {
             this.onOtherUniMPEventCallBack = null;
-            HdlLogLogic.print("onOtherUniMPEventCallBack remove callback");
+            HdlLogLogic.print("onOtherUniMPEventCallBack remove callback", true);
         }
     }
 

--
Gitblit v1.8.0