From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java | 86 ++++++++++++++++++++++++++++++------------
1 files changed, 61 insertions(+), 25 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 9af7076..71c4bb9 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,24 @@
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.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;
@@ -20,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;
@@ -34,6 +45,10 @@
public class HDLUniMPSDKManager {
private static final String TAG = "HDLUniMPSDKManager";
+ /**
+ * 鏍囪鐧诲綍鐣岄潰鏄惁宸茬粡瀛樺湪
+ */
+ public static boolean isExistsActivity = false;
/**
* context
*/
@@ -92,19 +107,22 @@
private void removeCallBack() {
DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(null);
DCUniMPSDK.getInstance().setOnUniMPEventCallBack(null);
+
}
/**
* 鐩戝惉鐩稿叧鍥炶皟
*/
private void registerCallBack() {
+ DCUniMPSDK.getInstance();
//1.璁剧疆灏忕▼搴忚鍏抽棴浜嬩欢鐩戝惉
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);
@@ -114,10 +132,11 @@
mCurrentAppId = "";
}
-// //灏忕▼搴忚鍏抽棴浜嗛�氱煡缁欏師鐢�
-// BaseEventBus baseEventBus = new BaseEventBus();
-// baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
-// EventBus.getDefault().post(baseEventBus);
+ //灏忕▼搴忚鍏抽棴浜嗛�氱煡缁欏師鐢�
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
+ baseEventBus.setType(LowerTagType.power_station.toString());
+ EventBus.getDefault().post(baseEventBus);
}
});
@@ -128,8 +147,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());
@@ -150,6 +172,15 @@
//闄や簡缁熶竴澶勭悊锛屽墿浣欏叾瀹冪壒瀹氬満鏅殑浜嬩欢閫氱煡
if (onOtherUniMPEventCallBack != null) {
onOtherUniMPEventCallBack.onOtherUniMPEventReceive(appid, event, data, callback);
+ } else {
+ 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);
+ }
}
}
}
@@ -249,15 +280,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");
@@ -273,14 +295,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());
}
}
@@ -289,6 +323,7 @@
* 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
*/
public void initDCUniMPSDK(Context mContext) {
+ HdlLogLogic.print("UniMPSDK鐘舵��---" + DCUniMPSDK.getInstance().isInitialize(), true);
if (DCUniMPSDK.getInstance().isInitialize()) {
return;
}
@@ -300,7 +335,7 @@
@Override
public void onInitFinished(boolean b) {
- HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b);
+ HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b, true);
}
});
@@ -344,20 +379,20 @@
* 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔�
*
* @param uniAppId 灏忕▼搴忔寚瀹�
- * @param event 灏忕▼搴忔寚瀹氫富棰�
+ * @param topic 灏忕▼搴忔寚瀹氫富棰�
* @param data String鎴朖SON
*/
- public void sendUniMPEvent(String uniAppId, String event, Object data) {
+ public void sendUniMPEvent(String uniAppId, String topic, Object data) {
if (mUniMPCaches.containsKey(uniAppId)) {
if (mUniMPCaches.get(uniAppId) != null) {
- mUniMPCaches.get(uniAppId).sendUniMPEvent(event, data);
- HdlLogLogic.print("鍙戦�侀�氱煡鎴愬姛锛歟vent锛�" + event + " data锛�" + new Gson().toJson(data));
+ mUniMPCaches.get(uniAppId).sendUniMPEvent(topic, data);
+// HdlLogLogic.print("android---閫氱煡---uni---涓婚:" + topic + "---鍙戦�佹暟鎹�:" + new Gson().toJson(data));
} else {
- HdlLogLogic.print("鍙戦�佸け璐ワ紝灏忕▼搴忓璞′负绌猴細" + uniAppId);
+// HdlLogLogic.print("android---閫氱煡---uni---澶辫触---灏忕▼搴忓璞′负绌�:" + uniAppId);
}
} else {
- HdlLogLogic.print("鍙戦�佸け璐ワ紝鎵句笉鍒板搴旂殑灏忕▼搴忥細" + uniAppId);
+// HdlLogLogic.print("Android---閫氱煡---uni---澶辫触---卢灏忕▼搴忓璞′负绌�:" + uniAppId);
}
}
@@ -408,9 +443,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