From 8b43d4e1190fc9e2261be0579e53cc6c2987f946 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 27 十一月 2025 19:37:56 +0800
Subject: [PATCH] 2025年11月27日19:37:50 备份代码
---
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 114 insertions(+), 6 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 1af3a6a..0b240f2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -19,6 +19,9 @@
import androidx.multidex.MultiDex;
+import com.google.android.gms.common.ConnectionResult;
+import com.google.android.gms.common.GoogleApiAvailability;
+import com.google.firebase.messaging.FirebaseMessaging;
import com.google.gson.Gson;
import com.hdl.hdlhttp.HxHttpConfig;
import com.hdl.linkpm.sdk.HDLLinkPMSdk;
@@ -29,6 +32,7 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.Languages;
import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.NetworkType;
@@ -44,6 +48,7 @@
import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.utils.BadgeUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.utils.NetworkUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
@@ -101,7 +106,7 @@
// // 鑾峰彇褰撳墠杩涚▼鐨凱ID
// String processMessage = "杩涚▼Uid:" + Process.myUid() + "杩涚▼ID:" + Process.myPid() + " 杩涚▼鍚嶏細" + RuningAcitvityUtil.getAppName(getBaseContext());
-// Log.d("=======", processMessage);
+ Log.d("Application==onCreate", "onCreate");
// Log.d(TAG, processMessage);
// if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
// //闈炲師鐢熻繘绋嬶紝鐢ㄥ垵濮嬪寲鍚庨潰鐨�
@@ -122,10 +127,12 @@
if (TextUtils.isEmpty(language)) {
//浠庡唴瀛橀噷闈㈣幏鍙栦笉鍒拌瑷�,鑾峰彇褰撳墠绯荤粺鐨�;
String str = getResources().getConfiguration().locale.getLanguage();
- if (str.equals(LocalManageUtil.zh)) {
- UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh);
+ if (str.equals(Languages.zh)) {
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.zh);
+ } else if (str.equals(Languages.ar)) {
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.ar);
} else {
- UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.en);
}
}
}
@@ -182,6 +189,14 @@
initAutoSize();
// //鍒濆鍖栨瀬鍏夋帹閫�
// initJPush();
+ //璋锋瓕鍘熺敓fcm鎺ㄩ��
+ // 妫�鏌� Google Play Services 鍚庡啀鍒濆鍖� FCM
+ if (isGooglePlayServicesAvailable(this)) {
+ initFCM();
+ } else {
+ HdlLogLogic.print("Google Play Services 涓嶅彲鐢紝鏃犳硶浣跨敤 FCM", true);
+ // 鍙互鍦ㄨ繖閲屽垵濮嬪寲澶囬�夋帹閫佹柟妗堬紙濡傞樋閲屼簯鑷缓閫氶亾锛�
+ }
initHDLLinkPMSdk();
HDLLinkLocalSdk.getInstance().init(getInstance());
initSocket();
@@ -216,7 +231,6 @@
* 鍒濆鍖朒DLLinkPMSdk
*/
private void initHDLLinkPMSdk() {
- Log.d("===1====", "2222222");
//1.鍒濆鍖朣DK
HDLLinkPMSdk.initWithAppKey(this, AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
//2.璁剧疆鎵撳嵃
@@ -224,7 +238,7 @@
if (TextUtils.isEmpty(UserConfigManage.getInstance().getCurrentAppLanguage())) {
//榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄嫳鏂�
- UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.en);
}
//3.閰嶇疆鎺ュ彛璇锋眰璇█
HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
@@ -245,6 +259,8 @@
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
//鍒囨崲鏈嶅姟鍣ㄥ湴鍧�鐢ㄧ殑
UserConfigManage.getInstance().setOnlineServer(!UserConfigManage.getInstance().isOnlineServer());
UserConfigManage.getInstance().Save();
@@ -256,9 +272,46 @@
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
restartApp(mHDLApp);
}
}, 500);
+ } else if (type == LogoutType.UniLogout.getValue()) {
+ AppManagerUtils.getAppManager().finishAllActivity();
+ //娓呯┖浣忓畢id
+ UserConfigManage.getInstance().setHomeId("");
+ UserConfigManage.getInstance().setAutomaticSkipNoNetworkFlag(true);
+ //閲嶆柊璁惧畾涓�涓椂闂�
+ UserConfigManage.getInstance().setLoginDateTime(0);
+ UserConfigManage.getInstance().Save();
+ //娓呯┖娑堟伅缂撳瓨鏁版嵁
+ HdlMessageLogic.getInstance().clearListMessage();
+ //娓呯┖鐢电珯缂撳瓨鏁版嵁
+ HdlResidenceLogic.getInstance().clearHouseList();
+ //娓呯┖璁惧缂撳瓨鏁版嵁
+ HdlDeviceLogic.getInstance().clearDeviceList();
+ //娓呯┖缂撳瓨鏁版嵁
+ if (mInfoMap != null) {
+ mInfoMap.clear();
+ }
+ //鏂紑mqtt杩炴帴
+ if (MqttRecvClient.getInstance() != null) {
+ MqttRecvClient.getInstance().disConnect();
+ }
+ //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
+ // TODO: 10/10/23
+// TcpSocketBoot.stopAllConnectLinkGateway();
+ if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
+ SystemClock.sleep(200);
+ initDCUniMPSDK();
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
+ Intent intent = new Intent(getInstance(), LoginActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ startActivity(intent);
} else {
HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
//鍒犻櫎鎺ㄩ�乀oken
@@ -298,6 +351,8 @@
}
SystemClock.sleep(200);
initDCUniMPSDK();
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
Intent intent = new Intent(getInstance(), LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
if (type == 1) {
@@ -378,6 +433,59 @@
// JPushInterface.init(getBaseContext());
}
+ private void initFCM() {
+ // 鑾峰彇 FCM Token
+ FirebaseMessaging.getInstance().getToken()
+ .addOnCompleteListener(task -> {
+ if (!task.isSuccessful()) {
+ Log.w("FCM", "鑾峰彇 FCM Token 澶辫触", task.getException());
+ return;
+ }
+ // 鑾峰彇鏂扮殑 FCM Token
+ String token = task.getResult();
+ Log.d("FCM", "FCM Token: " + token);
+
+ // 淇濆瓨 token
+ saveFCMToken(token);
+ });
+
+// // 璁㈤槄涓婚锛堝彲閫夛級
+// FirebaseMessaging.getInstance().subscribeToTopic("all_users")
+// .addOnCompleteListener(task -> {
+// String msg = "璁㈤槄涓婚鎴愬姛";
+// if (!task.isSuccessful()) {
+// msg = "璁㈤槄涓婚澶辫触";
+// }
+// Log.d("FCM", msg);
+// });
+ }
+
+ /**
+ * 妫�鏌� Google Play Services 鏄惁鍙敤
+ */
+ private boolean isGooglePlayServicesAvailable(Context context) {
+ GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
+ int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context);
+ return resultCode == ConnectionResult.SUCCESS;
+ }
+
+ /**
+ * 淇濆瓨浠ょ墝
+ *
+ * @param token 浠ょ墝
+ */
+ public void saveFCMToken(String token) {
+ if (TextUtils.isEmpty(token.trim())) {
+ return;
+ }
+ UserConfigManage.getInstance().setPushToken(token);
+ UserConfigManage.getInstance().Save();
+
+// // 鍙戦�佸埌鏈嶅姟鍣�
+// sendTokenToServer(token);
+ }
+
+
/**
* 鐩戝惉缃戠粶鐘舵�佸彉鍖�
*/
--
Gitblit v1.8.0