From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 14:54:42 +0800 Subject: [PATCH] 2025年05月07日14:54:39 --- app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 145 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 108 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java index 152caa5..b436c04 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -1,10 +1,14 @@ package com.hdl.photovoltaic; import android.app.Activity; +import android.app.ActivityManager; import android.app.Application; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; +import android.os.Build; +import android.os.LocaleList; +import android.os.Process; import android.os.SystemClock; import android.text.TextUtils; import android.util.Log; @@ -12,6 +16,7 @@ import androidx.multidex.MultiDex; +import com.google.gson.Gson; import com.hdl.hdlhttp.HxHttpConfig; import com.hdl.linkpm.sdk.HDLLinkPMSdk; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; @@ -23,6 +28,7 @@ import com.hdl.photovoltaic.enums.LowerTagType; import com.hdl.photovoltaic.enums.NetworkType; import com.hdl.photovoltaic.other.HdlDeviceLogic; +import com.hdl.photovoltaic.other.HdlFileLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlMessageLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; @@ -37,13 +43,17 @@ import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.connect.HDLUdpConnect; import com.hdl.sdk.link.core.utils.QueueUtils; +import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; +//import com.umeng.commonsdk.UMConfigure; import org.greenrobot.eventbus.EventBus; import java.util.HashMap; +import java.util.List; +import java.util.Locale; import java.util.Objects; -import cn.jpush.android.api.JPushInterface; +//import cn.jpush.android.api.JPushInterface; import io.dcloud.common.util.RuningAcitvityUtil; import me.jessyan.autosize.AutoSize; import me.jessyan.autosize.AutoSizeConfig; @@ -53,10 +63,17 @@ public class HDLApp extends Application { + final String TAG=HDLApp.class.getName(); //鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃 private Boolean isLogEnabled = true; //涓夋柟sdk鍒濆鍖栨爣璇� private Boolean isInitThirdSDK = false; + //涓夋柟sdk鍒濆鍖栨爣璇� + /** + * 涓夋柟sdk鍒濆鍖栨爣璇� + * 鍦⊿tartActivity閲岄潰鍒濆鍖栦笁鏂筍DK鐨勬爣璇� + */ + public Boolean isStartInitThirdSDK = false; //澹版槑涓�涓綋鍓嶅簲鐢ㄧ殑瀹炰緥 private static HDLApp mHDLApp; //澹版槑涓�涓叕鍏辩殑淇℃伅鏄犲皠,鍙綋浣滃叏灞�鍙橀噺浣跨敤; @@ -71,20 +88,29 @@ @Override public void onCreate() { super.onCreate(); - // 鑾峰彇褰撳墠杩涚▼鐨凱ID - Log.d("杩涚▼===", android.os.Process.myPid() + ""); +// // 鑾峰彇褰撳墠杩涚▼鐨凱ID +// String processMessage= "杩涚▼ID:"+Process.myPid()+" 杩涚▼鍚嶏細"+RuningAcitvityUtil.getAppName(getBaseContext()); +// Log.d(TAG, processMessage); +// if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) { +// //闈炲師鐢熻繘绋嬶紝鐢ㄥ垵濮嬪寲鍚庨潰鐨� +// return; +// } mHDLApp = this; SharedPreUtils.init(this); getAppLanguage(); + //棰勫垱寤鸿剼鏈琷son鏂囦欢澶� + HdlFileLogic.getInstance().createHdlESLocalJsonDirectory(); init(); + + } public void getAppLanguage() { String language = UserConfigManage.getInstance().getCurrentAppLanguage(); if (TextUtils.isEmpty(language)) { //浠庡唴瀛橀噷闈㈣幏鍙栦笉鍒拌瑷�,鑾峰彇褰撳墠绯荤粺鐨�; - String str = getResources().getConfiguration().locale.getCountry(); - if (str.equals("CN") || str.equals("TW")) { + String str = getResources().getConfiguration().locale.getLanguage(); + if (str.equals(LocalManageUtil.zh)) { UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh); } else { UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en); @@ -134,7 +160,7 @@ // CrashReport.initCrashReport(this, Constant.BUGLY_APP_ID, true); //6.鍒濆鍖朌CUniMPSDK initDCUniMPSDK(); - this.initUniMqtt();//濡傛灉鏄儴缃插埌/鎵嬫満涓婃寮忎娇鐢紝娉ㄩ噴鎺夎繖琛屼唬鐮佸氨鍙� +// this.initUniMqtt();//濡傛灉鏄儴缃插埌/鎵嬫満涓婃寮忎娇鐢紝娉ㄩ噴鎺夎繖琛屼唬鐮佸氨鍙� // //7.鍒濆鍖栬嚜瀹氫箟IconToast // ToastUtils.getInstance().initIconToast(this); // //8.瀵筬astjson杩涜璁剧疆锛岃В鍐砯astjosn杞崲鎴愬瓧绗︿覆鏃堕瀛楁瘝澶у皬鍐欓棶棰� @@ -142,8 +168,8 @@ // //9.鍒濆鍖栫綉缁滃伐鍏� // NetWorkUtil.init(this); initAutoSize(); - //鍒濆鍖栨瀬鍏夋帹閫� - initJPush(); +// //鍒濆鍖栨瀬鍏夋帹閫� +// initJPush(); initHDLLinkPMSdk(); HDLLinkLocalSdk.getInstance().init(getInstance()); initSocket(); @@ -154,7 +180,23 @@ this.networkMonitoring(); //鍒濆鍖栨湰鍦癮ssets鏂囦欢澶硅祫婧愭枃浠� // this.initLocalAssetsData(); +// //鍒濆鍖栧弸鐩烻DK锛屾斁鍦⊿tartActivity閲岄潰鍒濆鍖� +// initUMengSDK(); + + } + + /** + * 鍒濆鍖栧弸鐩烻DK锛屾姄闂��鏃ュ織 + * 闆嗘垚鏁欑▼鍦板潃锛歨ttps://developer.umeng.com/docs/119267/detail/118588 + */ + private void initUMengSDK() { +// UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar"); +// //appkey鍜宑hannl蹇呴』淇濇寔鍜岄鍒濆鍖栦竴鑷达紒锛侊紒 +// //deviceType锛氳澶囩被鍨嬶紝UMConfigure.DEVICE_TYPE_PHONE涓烘墜鏈恒�乁MConfigure.DEVICE_TYPE_BOX涓虹洅瀛� +// //pushSecret锛歅ush鎺ㄩ�佷笟鍔$殑secret +// UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, ""); +// UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug() } @@ -163,12 +205,13 @@ */ private void initHDLLinkPMSdk() { //1.鍒濆鍖朣DK - HDLLinkPMSdk.initWithAppKey(getInstance(), AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl()); + HDLLinkPMSdk.initWithAppKey(this, AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl()); //2.璁剧疆鎵撳嵃 HDLLinkPMSdk.setLogEnabled(isLogEnabled); + if (TextUtils.isEmpty(UserConfigManage.getInstance().getCurrentAppLanguage())) { - //榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄腑鏂� - UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh); + //榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄嫳鏂� + UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en); } //3.閰嶇疆鎺ュ彛璇锋眰璇█ HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage()); @@ -185,13 +228,15 @@ HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() { @Override public void onReLogin(int type) { + + HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true); //type: 0:姝e父閫�鍑� 1锛氭瀬鍏夋帹閫佸己鍒堕��鍑� //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰 AppManagerUtils.getAppManager().finishAllActivity(); - HDLSDKSPUtils.clear(); +// HDLSDKSPUtils.clear();//搴曞眰鑷繁娓呯┖ //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥 - UserConfigManage.getInstance().setAcceiptPolicy(true); + UserConfigManage.getInstance().setAcceiptPolicy(false); //閲嶆柊璁惧畾涓�涓椂闂� UserConfigManage.getInstance().setLoginDateTime(0); UserConfigManage.getInstance().Save(); @@ -206,10 +251,10 @@ if (mInfoMap != null) { mInfoMap.clear(); } -// //鏂紑mqtt杩炴帴 -// if (MqttRecvClient.getInstance() != null) { -// MqttRecvClient.getInstance().disConnect(); -// } + //鏂紑mqtt杩炴帴 + if (MqttRecvClient.getInstance() != null) { + MqttRecvClient.getInstance().disConnect(); + } //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛� // TODO: 10/10/23 // TcpSocketBoot.stopAllConnectLinkGateway(); @@ -258,9 +303,8 @@ * 鍒濆鍖栨瀬鍏塖DK */ private void initJPush() { - JPushInterface.setDebugMode(true); - JPushInterface.init(getBaseContext()); - +// JPushInterface.setDebugMode(true); +// JPushInterface.init(getBaseContext()); } /** @@ -315,28 +359,22 @@ private void initAutoSize() { AutoSize.initCompatMultiProcess(this); boolean isBaseOnWidth = getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT; - AutoSizeConfig.getInstance() - .setBaseOnWidth(true) - .setCustomFragment(true) - .setDesignWidthInDp(375) - .setDesignHeightInDp(812) - .setUseDeviceSize(false) - .setOnAdaptListener(new onAdaptListener() { - @Override - public void onAdaptBefore(Object target, Activity activity) { + AutoSizeConfig.getInstance().setBaseOnWidth(true).setCustomFragment(true).setDesignWidthInDp(375).setDesignHeightInDp(812).setUseDeviceSize(false).setOnAdaptListener(new onAdaptListener() { + @Override + public void onAdaptBefore(Object target, Activity activity) { - AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]); - AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1] + - ScreenUtils.getHeightOfNavigationBar(activity) + ScreenUtils.getStatusBarHeight()); + AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]); + AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1] + ScreenUtils.getHeightOfNavigationBar(activity) + ScreenUtils.getStatusBarHeight()); - } + } - @Override - public void onAdaptAfter(Object target, Activity activity) { + @Override + public void onAdaptAfter(Object target, Activity activity) { - } - }); + } + }); } + /** * 鍒濆鍖杣ni app mqtt @@ -355,11 +393,44 @@ } } + @Override protected void attachBaseContext(Context base) { MultiDex.install(base); super.attachBaseContext(base); } + /** + * 鏀寔涓嫳鏂囧垏鎹� + */ + public Context getAppLocaleContext(Context context) { + try { + Locale locale = new Locale(UserConfigManage.getInstance().getCurrentAppLanguage()); + Configuration configuration = context.getResources().getConfiguration(); + configuration.setLocale(locale); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + configuration.setLocales(new LocaleList(locale)); + } + return context.createConfigurationContext(configuration); + } catch (Exception e) { + return context; + } + } + /** + * 鏀寔涓嫳鏂囧垏鎹� + */ + public Context getAppLocaleContext() { + try { + Locale locale = new Locale(UserConfigManage.getInstance().getCurrentAppLanguage()); + Configuration configuration = getResources().getConfiguration(); + configuration.setLocale(locale); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + configuration.setLocales(new LocaleList(locale)); + } + return createConfigurationContext(configuration); + } catch (Exception e) { + return this; + } + } } -- Gitblit v1.8.0