| | |
| | | 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 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; |
| | |
| | | |
| | | public class HDLUniMPSDKManager { |
| | | private static final String TAG = "HDLUniMPSDKManager"; |
| | | /** |
| | | * 标记登录界面是否已经存在 |
| | | */ |
| | | public static boolean isExistsActivity = false; |
| | | /** |
| | | * context |
| | | */ |
| | |
| | | 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数据为null。", true); |
| | | |
| | | return; |
| | | } |
| | | // String key= MD5Utils.getMd5(event+data.toString()); |
| | |
| | | if (onOtherUniMPEventCallBack != null) { |
| | | onOtherUniMPEventCallBack.onOtherUniMPEventReceive(appid, event, data, callback); |
| | | } else { |
| | | HdlLogLogic.print("收到小程序通知,回调事件为null,无法回调事件并执行业务逻辑--->event=" + event + "\r\n" + "data=" + data, true); |
| | | //有可能是系统回收掉activity导致回调为null,这样情况下强制返回登录界面; |
| | | //todo 长时间没响应将退出登录界面重新登录 |
| | | HdlLogLogic.print("回调事件为null退出登录--->", true); |
| | | HDLLinkPMUser.getInstance().logout(0); |
| | | if (!HDLUniMPSDKManager.isExistsActivity) { |
| | | HDLUniMPSDKManager.isExistsActivity = true; |
| | | HdlLogLogic.print("收到小程序通知,回调事件为null,无法回调事件并执行业务逻辑---event=" + event + "\r\n" + "data=" + data, true); |
| | | //有可能是系统回收掉activity导致回调为null,这样情况下强制返回登录界面; |
| | | //todo 长时间没响应将退出登录界面重新登录 |
| | | HDLLinkPMUser.getInstance().logout(0); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | // HdlLogLogic.print("Android---通知---uni---失败---小程序对象为空:" + uniAppId); |
| | | } |
| | | } else { |
| | | // HdlLogLogic.print("Android---通知---uni--->失败---¬小程序对象为空:" + uniAppId); |
| | | // HdlLogLogic.print("Android---通知---uni---失败---¬小程序对象为空:" + uniAppId); |
| | | } |
| | | |
| | | } |
| | |
| | | * @param onOtherUniMPEventCallBack - |
| | | */ |
| | | public void checkRemoveOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) { |
| | | HdlLogLogic.print("onOtherUniMPEventCallBack", true); |
| | | if (this.onOtherUniMPEventCallBack == onOtherUniMPEventCallBack) { |
| | | this.onOtherUniMPEventCallBack = null; |
| | | HdlLogLogic.print("onOtherUniMPEventCallBack remove callback", true); |