From a3798b01c03911efcd7f7b28f78cebc35871c528 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 06 八月 2024 18:37:07 +0800
Subject: [PATCH] 2024年08月06日18:37:05
---
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java | 86 ++++++++++++++++++++++++++----------------
1 files changed, 53 insertions(+), 33 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 521c6d6..61e066b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
@@ -3,16 +3,21 @@
import android.app.Application;
import android.content.Context;
import android.os.Environment;
+import android.os.SystemClock;
import android.text.TextUtils;
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.enums.LowerTagType;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+import org.greenrobot.eventbus.EventBus;
import org.json.JSONException;
import org.json.JSONObject;
@@ -90,18 +95,20 @@
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(TAG, "鏀跺埌灏忕▼搴忛�氱煡 琚叧闂簡");
+ HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡 琚叧闂簡");
}
//灏忕▼搴忚鍏抽棴闇�瑕佸瀹炰緥缂撳瓨鍒犻櫎鎿嶄綔
if (mUniMPCaches.containsKey(appid)) {
@@ -111,6 +118,13 @@
if (appid.equals(mCurrentAppId)) {
mCurrentAppId = "";
}
+
+ //灏忕▼搴忚鍏抽棴浜嗛�氱煡缁欏師鐢�
+ 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);
+
}
});
@@ -119,9 +133,11 @@
@Override
public void onUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
// handelUniMPEventReceive(appid, event, data, callback);
- HdlLogLogic.print(TAG, "鏀跺埌灏忕▼搴忛�氱煡 event=" + event);
+ HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡 event=" + event);
//鏆傛椂閫氳繃杩欎釜澶勭悊灏忕▼搴忓悓鏃跺鏉$浉鍚岀殑璇锋眰
if (data == null) {
+ HdlLogLogic.print("鏀跺埌灏忕▼搴忛�氱煡,data鏁版嵁涓簄ull銆�", true);
+
return;
}
// String key= MD5Utils.getMd5(event+data.toString());
@@ -137,11 +153,16 @@
//鍥炰紶鏁版嵁缁欏皬绋嬪簭
JSONObject params = getAppParams();
callback.invoke(params);
- HdlLogLogic.print(TAG, "uni_GetAppParams callback:" + params.toString());
+ HdlLogLogic.print("uni_GetAppParams callback:" + params.toString());
} else {
//闄や簡缁熶竴澶勭悊锛屽墿浣欏叾瀹冪壒瀹氬満鏅殑浜嬩欢閫氱煡
- if (onOtherUniMPEventCallBack != null) {
+ 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);
}
}
}
@@ -185,12 +206,12 @@
public void checkUniMPResource(String uniAppId) {
//2.涓嶆槸绗竴娆″惎鍔ㄤ簡锛屽厛鍒ゆ柇wgt鍖呬箣鍓嶆湁涔堟湁閮ㄧ讲杩�
if (!DCUniMPSDK.getInstance().isExistsApp(uniAppId)) {
- HdlLogLogic.print(TAG, "DCUni wgt涔嬪墠杩樻病閮ㄧ讲杩�");
+ HdlLogLogic.print("DCUni wgt涔嬪墠杩樻病閮ㄧ讲杩�");
//涔嬪墠娌¢儴缃茶繃閲嶆柊閮ㄧ讲
hdlReleaseAppResourceToRunPathWithAppid(uniAppId);
// [self hdlReleaseAppResourceToRunPathWithAppid:uniAppId];
} else {
- HdlLogLogic.print(TAG, "DCUni wgt宸茬粡閮ㄧ讲杩�");
+ HdlLogLogic.print("DCUni wgt宸茬粡閮ㄧ讲杩�");
}
}
@@ -203,7 +224,7 @@
String wgtPath = mContext.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/" + uniAppId + ".wgt";
boolean b = fileIsExists(wgtPath);
if (b) {
- HdlLogLogic.print(TAG, "wgt鍖呮湰鍦板瓨鍦�");
+ HdlLogLogic.print("wgt鍖呮湰鍦板瓨鍦�");
DCUniMPSDK.getInstance().releaseWgtToRunPathFromePath(uniAppId, wgtPath, new ICallBack() {
@Override
public Object onCallBack(int code, Object pArgs) {
@@ -212,13 +233,13 @@
} else {
//閲婃斁wgt澶辫触
- HdlLogLogic.print(TAG, "璧勬簮閲婃斁澶辫触");
+ HdlLogLogic.print("璧勬簮閲婃斁澶辫触");
}
return null;
}
});
} else {
- HdlLogLogic.print(TAG, "wgt鍖呮湰鍦颁笉瀛樺湪");
+ HdlLogLogic.print("wgt鍖呮湰鍦颁笉瀛樺湪");
}
}
@@ -241,19 +262,10 @@
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");
- HdlLogLogic.print(TAG, "灏忕▼搴廔D 涓嶈兘涓虹┖");
+ HdlLogLogic.print("灏忕▼搴廔D 涓嶈兘涓虹┖");
return;
}
try {
@@ -265,15 +277,23 @@
UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
uniMPOpenConfiguration.path = path;
uniMPOpenConfiguration.extraData = jsonObject;
+ uniMPOpenConfiguration.splashClass = MySplashView.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());
- HdlLogLogic.print(TAG, "鎵撳紑澶辫触" + e.getMessage());
+// initDCUniMPSDK(HDLApp.getInstance());
+ HdlLogLogic.print("鎵撳紑澶辫触===" + e.getMessage());
}
}
@@ -292,7 +312,7 @@
@Override
public void onInitFinished(boolean b) {
- HdlLogLogic.print("unimp", "UniMPSDK 鍒濆鍖栧畬鎴�----" + b);
+ HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b);
}
});
@@ -315,7 +335,7 @@
*/
public void openUniMP(String uniAppId, JSONObject arguments, IOnOtherUniMPEventCallBack callBack) {
if (TextUtils.isEmpty(uniAppId)) {
- HdlLogLogic.print(TAG, "灏忕▼搴廔D 涓嶈兘涓虹┖");
+ HdlLogLogic.print("灏忕▼搴廔D 涓嶈兘涓虹┖");
return;
}
try {
@@ -327,7 +347,7 @@
mUniMPCaches.put(uniMP.getAppid(), uniMP);
} catch (Exception e) {
e.printStackTrace();
- HdlLogLogic.print(TAG, "鎵撳紑澶辫触" + e.getMessage());
+ HdlLogLogic.print("鎵撳紑澶辫触===" + e.getMessage());
}
}
@@ -336,20 +356,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(TAG, "鍙戦�侀�氱煡鎴愬姛锛歟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(TAG, "鍙戦�佸け璐ワ紝灏忕▼搴忓璞′负绌猴細" + uniAppId);
+ HdlLogLogic.print("Android--->閫氱煡---uni--->澶辫触--->灏忕▼搴忓璞′负绌�:" + uniAppId);
}
} else {
- HdlLogLogic.print(TAG, "鍙戦�佸け璐ワ紝鎵句笉鍒板搴旂殑灏忕▼搴忥細" + uniAppId);
+ HdlLogLogic.print("Android--->閫氱煡---uni--->澶辫触--->灏忕▼搴忓璞′负绌�:" + uniAppId);
}
}
@@ -363,7 +383,7 @@
*/
public void sendUniMPEventToCurrentOpenAppId(String event, Object data) {
if (TextUtils.isEmpty(mCurrentAppId)) {
- HdlLogLogic.print(TAG, "褰撳墠娌℃墦寮�鐨勫皬绋嬪簭");
+ HdlLogLogic.print("褰撳墠娌℃墦寮�鐨勫皬绋嬪簭");
return;
}
sendUniMPEvent(mCurrentAppId, event, data);
@@ -391,7 +411,7 @@
public void setOnOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) {
this.onOtherUniMPEventCallBack = onOtherUniMPEventCallBack;
- HdlLogLogic.print("onOtherUniMPEventCallBack", "set callback");
+ HdlLogLogic.print("onOtherUniMPEventCallBack set callback");
}
/**
@@ -402,7 +422,7 @@
public void checkRemoveOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) {
if (this.onOtherUniMPEventCallBack == onOtherUniMPEventCallBack) {
this.onOtherUniMPEventCallBack = null;
- HdlLogLogic.print("onOtherUniMPEventCallBack", "remove callback");
+ HdlLogLogic.print("onOtherUniMPEventCallBack remove callback");
}
}
--
Gitblit v1.8.0