hxb
2023-06-28 531ba0d5bdc903c37e98128f04a85e0a146d23b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package com.hdl.photovoltaic;
 
import android.Manifest;
import android.app.Application;
import android.content.pm.PackageManager;
 
 
import androidx.annotation.NonNull;
 
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
import com.hdl.sdk.link.core.connect.HDLUdpConnect;
import com.hdl.sdk.link.core.utils.QueueUtils;
 
import java.util.HashMap;
import java.util.Objects;
 
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 HDLApp extends Application {
    //三方sdk初始化标识
    private Boolean isInitThirdSDK = false;
    //声明一个当前应用的实例
    private static HDLApp mHDLApp;
    //声明一个公共的信息映射,可当作全局变量使用;
    public HashMap<String, String> mInfoMap = new HashMap<>();
 
    //利用单例模式获取当前应用的唯一实例
    public static HDLApp getInstance() {
        return mHDLApp;
    }
 
    @Override
    public void onCreate() {
 
        super.onCreate();
        mHDLApp = this;
        initThirdSDK();
    }
 
    public void setInfoMap(String key, String value) {
        mInfoMap.put(key, value);
    }
 
    public String getValue(String key) {
        if (mInfoMap.containsKey(key)) {
            return mInfoMap.get(key);
        }
        return "";
    }
 
    public String getKey(String value) {
        if (mInfoMap.containsValue(value)) {
            for (String key : mInfoMap.keySet()) {
                if (Objects.equals(mInfoMap.get(key), value)) {
                    return key;
                }
            }
        }
        return "";
    }
 
    /**
     * 初始化三方相关SDK
     */
    public void initThirdSDK() {
        // 小程序进程
        if (RuningAcitvityUtil.getAppName(getBaseContext()).contains("unimp")) {
            return;
        }
        if (isInitThirdSDK) {
            return;
        }
        isInitThirdSDK = true;
 
//        //5.初始化Bugly
//        CrashReport.initCrashReport(this, Constant.BUGLY_APP_ID, true);
        //6.初始化DCUniMPSDK
        initDCUniMPSDK();
//        //7.初始化自定义IconToast
//        ToastUtils.getInstance().initIconToast(this);
//        //8.对fastjson进行设置,解决fastjosn转换成字符串时首字母大小写问题
//        TypeUtils.compatibleWithFieldName = true;
//        //9.初始化网络工具
//        NetWorkUtil.init(this);
//        //10.初始化极光推送
//        initJPush();
         initSocket();
    }
 
    /**
     * 初始化UniMPSDK 小程序SDK
     */
    private void initDCUniMPSDK() {
        HDLUniMPSDKManager.getInstance().initDCUniMPSDK(this);
    }
 
    //初始化socket及启动处理接收到数据的处理方法
    private void initSocket() {
        QueueUtils.getInstance().start();
        HDLUdpConnect.getInstance().initUdp();
    }
 
}