From 2f5411b86c59706d31f6ec7de629d8f860725e46 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 26 十一月 2025 19:56:56 +0800
Subject: [PATCH] 2025年11月26日19:56:45 集成谷歌推送

---
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java |  121 +++++++++++++++++++++++++++++++++-------
 1 files changed, 100 insertions(+), 21 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 a467e5f..f18237b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
@@ -1,10 +1,13 @@
 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.SystemClock;
+import android.os.Process;
 import android.text.TextUtils;
+import android.util.Log;
 
 
 import com.google.gson.Gson;
@@ -12,7 +15,10 @@
 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.LogoutType;
 import com.hdl.photovoltaic.enums.LowerTagType;
+import com.hdl.photovoltaic.other.HdlAccountLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -23,8 +29,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;
@@ -37,6 +45,14 @@
 
 public class HDLUniMPSDKManager {
     private static final String TAG = "HDLUniMPSDKManager";
+    /**
+     * 鏍囪鐧诲綍鐣岄潰鏄惁宸茬粡瀛樺湪
+     */
+    public static boolean isExistsActivity = false;
+    /**
+     * 灏忕▼搴忔槸鍚﹀紑鍚�
+     */
+    public static boolean  uinEnabled = false;
     /**
      * context
      */
@@ -107,9 +123,11 @@
         DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(new IUniMPOnCloseCallBack() {
             @Override
             public void onClose(String appid) {
-                if (AppConfigManage.isDebug()) {
-                    HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡  琚叧闂簡");
-                }
+                HDLUniMPSDKManager.uinEnabled=false;
+//                if (AppConfigManage.isDebug()) {
+//                    HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡  琚叧闂簡");
+//                }
+                HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡  琚叧闂簡", true);
                 //灏忕▼搴忚鍏抽棴闇�瑕佸瀹炰緥缂撳瓨鍒犻櫎鎿嶄綔
                 if (mUniMPCaches.containsKey(appid)) {
                     mUniMPCaches.remove(appid);
@@ -132,12 +150,14 @@
         DCUniMPSDK.getInstance().setOnUniMPEventCallBack(new IOnUniMPEventCallBack() {
             @Override
             public void onUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
+                HDLUniMPSDKManager.uinEnabled=true;
 //                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());
@@ -159,10 +179,14 @@
                     if (onOtherUniMPEventCallBack != null) {
                         onOtherUniMPEventCallBack.onOtherUniMPEventReceive(appid, event, data, callback);
                     } else {
-                        HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡,鍥炶皟浜嬩欢涓簄ull,鏃犳硶鍥炶皟浜嬩欢骞舵墽琛屼笟鍔¢�昏緫--->event=" + event + "\r\n" + "data=" + data, true);
-                        //鏈夊彲鑳芥槸绯荤粺鍥炴敹鎺塧ctivity瀵艰嚧鍥炶皟涓簄ull锛岃繖鏍锋儏鍐典笅寮哄埗杩斿洖鐧诲綍鐣岄潰锛�
-                        //todo 闀挎椂闂存病鍝嶅簲灏嗛��鍑虹櫥褰曠晫闈㈤噸鏂扮櫥褰�
-                        HDLLinkPMUser.getInstance().logout(0);
+                        if (!HDLUniMPSDKManager.isExistsActivity) {
+                            HDLUniMPSDKManager.isExistsActivity = true;
+                            HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡,鍥炶皟浜嬩欢涓簄ull,鏃犳硶鍥炶皟浜嬩欢骞舵墽琛屼笟鍔¢�昏緫---event=" + event + "\r\n" + "data=" + data, true);
+                            //鏈夊彲鑳芥槸绯荤粺鍥炴敹鎺塧ctivity瀵艰嚧鍥炶皟涓簄ull锛岃繖鏍锋儏鍐典笅寮哄埗杩斿洖鐧诲綍鐣岄潰锛�
+                            //todo 闀挎椂闂存病鍝嶅簲灏嗛��鍑虹櫥褰曠晫闈㈤噸鏂扮櫥褰�
+//                            HDLLinkPMUser.getInstance().logout(0);
+                            HdlAccountLogic.getInstance().logout(LogoutType.AbnormalLogout);
+                        }
                     }
                 }
             }
@@ -195,6 +219,55 @@
      */
     public Boolean isInitialize() {
         return DCUniMPSDK.getInstance().isInitialize();
+    }
+
+    /**
+     * 妫�鏌ュ綋鍓嶅皬绋嬪簭缁勪欢鏄惁姝e湪杩愯
+     *
+     * @return true琛ㄧず姝e湪杩愯锛宖alse琛ㄧず鏈繍琛�
+     */
+    public Boolean isRuning() {
+        Log.d(TAG,"isRuning");
+        if (this.getUniMP() == null) {
+            return false;
+        }
+        return this.getUniMP().isRuning();
+    }
+    /**
+     * 鏄剧ず宸插垱寤虹殑灏忕▼搴忕粍浠�
+     *
+     * @return 閫氬父涓� hideUniMP() 閰嶅浣跨敤锛岀敤浜庢帶鍒剁粍浠剁殑鍙鎬�
+     */
+    public Boolean showUniMP() {
+        Log.d(TAG,"showUniMP");
+        if (this.getUniMP() == null) {
+            return false;
+        }
+        return this.getUniMP().showUniMP();
+    }
+    /**
+     * 闅愯棌褰撳墠鏄剧ず鐨勫皬绋嬪簭缁勪欢
+     *
+     * @return 闅愯棌鍚庣粍浠朵粛鍦ㄥ悗鍙拌繍琛岋紝鍙互蹇�熼噸鏂版樉绀�
+     */
+    public Boolean hideUniMP() {
+        Log.d(TAG,"hideUniMP");
+        if (this.getUniMP() == null) {
+            return false;
+        }
+        return this.getUniMP().hideUniMP();
+    }
+    /**
+     * 瀹屽叏鍏抽棴骞堕攢姣佸皬绋嬪簭缁勪欢瀹炰緥锛堜笌hide鐨勫尯鍒紝close浼氶噴鏀捐祫婧愶紝鑰宧ide鍙槸鏆傛椂闅愯棌锛�
+     *
+     * @return
+     */
+    public Boolean closeUniMP() {
+        Log.d(TAG,"closeUniMP");
+        if (this.getUniMP() == null) {
+            return false;
+        }
+        return this.getUniMP().closeUniMP();
     }
 
 
@@ -277,16 +350,20 @@
                 UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
                 uniMPOpenConfiguration.path = path;
                 uniMPOpenConfiguration.extraData = jsonObject;
-                uniMPOpenConfiguration.splashClass = MySplashView.class;
+                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);
-                }
-            }
+//            //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) {
@@ -301,6 +378,7 @@
      * 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
      */
     public void initDCUniMPSDK(Context mContext) {
+        HdlLogLogic.print("UniMPSDK鐘舵��---" + DCUniMPSDK.getInstance().isInitialize(), true);
         if (DCUniMPSDK.getInstance().isInitialize()) {
             return;
         }
@@ -312,7 +390,7 @@
             @Override
             public void onInitFinished(boolean b) {
 
-                HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b);
+                HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b, true);
             }
         });
 
@@ -364,12 +442,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);
         }
 
     }
@@ -420,6 +498,7 @@
      * @param onOtherUniMPEventCallBack -
      */
     public void checkRemoveOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) {
+        HdlLogLogic.print("onOtherUniMPEventCallBack", true);
         if (this.onOtherUniMPEventCallBack == onOtherUniMPEventCallBack) {
             this.onOtherUniMPEventCallBack = null;
             HdlLogLogic.print("onOtherUniMPEventCallBack remove callback", true);

--
Gitblit v1.8.0