From a8a25a3ae373115f9342c766a7ee241e8ca8f479 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 15 七月 2025 15:20:34 +0800
Subject: [PATCH] 2025年07月15日15:20:32
---
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java | 5 +
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java | 2
app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java | 6 +
app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java | 3
app/src/main/assets/data/dcloud_control.xml | 2
app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java | 36 ++++++++++++
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java | 5 +
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 63 +++++++++++++++++++-
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 7 +-
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 3
10 files changed, 114 insertions(+), 18 deletions(-)
diff --git a/app/src/main/assets/data/dcloud_control.xml b/app/src/main/assets/data/dcloud_control.xml
index 7ccb586..ab101e5 100644
--- a/app/src/main/assets/data/dcloud_control.xml
+++ b/app/src/main/assets/data/dcloud_control.xml
@@ -1,4 +1,4 @@
-<hbuilder debug="true" syncDebug="true" version="1.9.9.80110">
+<hbuilder debug="false" syncDebug="false" version="1.9.9.80110">
<apps>
<app appid="unimp" appver="1.0" />
</apps>
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index ae50d6e..1af3a6a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -2,7 +2,9 @@
import android.app.Activity;
import android.app.ActivityManager;
+import android.app.AlarmManager;
import android.app.Application;
+import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
@@ -27,9 +29,11 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.NetworkType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
import com.hdl.photovoltaic.other.HdlFileLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -94,9 +98,10 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d("=======", "11111111");
+
// // 鑾峰彇褰撳墠杩涚▼鐨凱ID
-// String processMessage= "杩涚▼ID:"+Process.myPid()+" 杩涚▼鍚嶏細"+RuningAcitvityUtil.getAppName(getBaseContext());
+// String processMessage = "杩涚▼Uid:" + Process.myUid() + "杩涚▼ID:" + Process.myPid() + " 杩涚▼鍚嶏細" + RuningAcitvityUtil.getAppName(getBaseContext());
+// Log.d("=======", processMessage);
// Log.d(TAG, processMessage);
// if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
// //闈炲師鐢熻繘绋嬶紝鐢ㄥ垵濮嬪寲鍚庨潰鐨�
@@ -236,14 +241,21 @@
HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
@Override
public void onReLogin(int type) {
-
- if (100 == type) {
+ if (type == LogoutType.ServerSwitchingLogout.getValue()) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//鍒囨崲鏈嶅姟鍣ㄥ湴鍧�鐢ㄧ殑
UserConfigManage.getInstance().setOnlineServer(!UserConfigManage.getInstance().isOnlineServer());
UserConfigManage.getInstance().Save();
+ restartApp(mHDLApp);
+ }
+ }, 500);
+ } else if (type == LogoutType.AbnormalLogout.getValue()) {
+ //寮傚父鎯呭喌-寮哄埗閲嶅惎搴旂敤
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
restartApp(mHDLApp);
}
}, 500);
@@ -298,6 +310,41 @@
});
}
+
+ public void test(Context context) {
+// new Handler().postDelayed(() -> {
+// // 1. 璁剧疆寤惰繜閲嶅惎
+// Intent restartIntent = new Intent(context, StartActivity.class);
+// restartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+//
+// PendingIntent pendingIntent = PendingIntent.getActivity(
+// context, 0, restartIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_CANCEL_CURRENT
+// );
+//
+// AlarmManager am1 = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+// am1.set(AlarmManager.RTC, System.currentTimeMillis() + 300, pendingIntent);
+//
+// int myUid = android.os.Process.myUid();
+// ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+// String packageName = context.getPackageName();
+//
+// for (ActivityManager.RunningAppProcessInfo proc : am.getRunningAppProcesses()) {
+// if (proc.uid == myUid && proc.processName.startsWith(packageName)) {
+// if (proc.pid != android.os.Process.myPid()) {
+// try {
+// android.os.Process.killProcess(proc.pid);
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+// }
+// }
+//
+// // 3. 閫�鍑哄綋鍓嶈繘绋�
+// android.os.Process.killProcess(android.os.Process.myPid());
+// }, 500);
+ }
+
/**
* 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
@@ -458,6 +505,7 @@
}
}
+
/**
* 閲嶅惎app
*/
@@ -473,6 +521,11 @@
}
}
+ /**
+ * 鍏虫帀app鎵�鏈夎繘绋�
+ *
+ * @param context 涓婁笅鏂�
+ */
private void killAppProcess(Context context) {
// AppManagerUtils.getAppManager().finishAllActivity();
try {
@@ -480,7 +533,7 @@
List<android.app.ActivityManager.RunningAppProcessInfo> processInfos = manager.getRunningAppProcesses();
// 鍏堟潃鎺夌浉鍏宠繘绋嬶紝鏈�鍚庡啀鏉�鎺変富杩涚▼
for (android.app.ActivityManager.RunningAppProcessInfo runningAppProcessInfo : processInfos) {
- if (runningAppProcessInfo.pid != android.os.Process.myPid()) {
+ if ((runningAppProcessInfo.uid == android.os.Process.myUid()) && (runningAppProcessInfo.pid != android.os.Process.myPid())) {
try {
android.os.Process.killProcess(runningAppProcessInfo.pid);
} catch (Exception e) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java b/app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java
new file mode 100644
index 0000000..ca2735f
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java
@@ -0,0 +1,36 @@
+package com.hdl.photovoltaic.enums;
+
+/**
+ * 閫�鍑虹櫥褰曠被鍨�
+ */
+public enum LogoutType {
+ /**
+ * 姝e父閫�鍑猴紙涓�鑸寚鐢ㄦ埛閫�鍑虹櫥褰曪紝瀵嗙爜鏇存柊锛�
+ */
+ NormalLogout(0),
+ /**
+ * 鏋佸厜涓诲姩閫氱煡閫�鍑�
+ */
+ JpushLogout(1),
+ /**
+ * uni涓诲姩閫氱煡閫�鍑�
+ */
+ UniLogout(2),
+ /**
+ * 鏈嶅姟鍣ㄥ垏鎹㈤��鍑�
+ */
+ ServerSwitchingLogout(3),
+ /**
+ * 寮傚父鎯呭喌锛堝師鐢熷拰灏忕▼閫氳鏂紑锛�
+ */
+ AbnormalLogout(-1);
+ private final int value;
+
+ LogoutType(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
index 5cc4457..2d9a54f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -13,6 +13,7 @@
import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -818,18 +819,18 @@
/**
* 閫�鍑虹櫥褰�
*/
- public void logout() {
+ public void logout(LogoutType logoutType) {
HdlResidenceLogic.getInstance().pushDel(new CloudCallBeak<String>() {
@Override
public void onSuccess(String obj) {
// SharedPreUtils.putBoolean("pushAddCache", true);
- HDLLinkPMUser.getInstance().logout(0);
+ HDLLinkPMUser.getInstance().logout(logoutType.getValue());
}
@Override
public void onFailure(HDLException e) {
// SharedPreUtils.putBoolean("pushAddCache", false);
- HDLLinkPMUser.getInstance().logout(0);
+ HDLLinkPMUser.getInstance().logout(logoutType.getValue());
}
});
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index c3b16be..417e4ef 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -38,6 +38,7 @@
import com.hdl.photovoltaic.bean.PageNumberObject;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
import com.hdl.photovoltaic.internet.TcpClient;
@@ -715,7 +716,7 @@
case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOGOUT: {
HdlLogLogic.print("uni閫氱煡鍘熺敓閫�鍑虹櫥褰�---", true);
// HDLLinkPMUser.getInstance().logout(0);
- HdlAccountLogic.getInstance().logout();
+ HdlAccountLogic.getInstance().logout(LogoutType.NormalLogout);
}
break;
//鏈湴瀵嗛挜鑾峰彇
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
index 92f10d5..0450dd8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -196,11 +196,11 @@
listDialog.setItemOnclickListener(new ListDialogAdapter.OnclickListener() {
@Override
public void onClick(int position, LanguageAdapter.ItemData itemData) {
+ listDialog.dismiss();
UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage());
UserConfigManage.getInstance().Save();
//閰嶇疆鎺ュ彛璇锋眰璇█
HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
- listDialog.dismiss();
AppManagerUtils.getAppManager().finishAllActivity();
Intent intent = new Intent();
intent.setClass(HDLApp.getInstance(), StartActivity.class);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java
index f0e31e5..fa765ae 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java
@@ -18,6 +18,7 @@
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityMeChangePasswordBinding;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -103,6 +104,7 @@
dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
@Override
public void Confirm() {
+ dialog.dismiss();
sendChangePassword(oldPsw, newPsw);
}
});
@@ -132,7 +134,7 @@
HdlLogLogic.print("B绔洿鏀逛釜浜哄瘑鐮侀��鍑虹櫥褰�--->", true);
// HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_pws_reset_succeeded), 0);
// HDLLinkPMUser.getInstance().logout(0);
- HdlAccountLogic.getInstance().logout();
+ HdlAccountLogic.getInstance().logout(LogoutType.NormalLogout);
}
@Override
@@ -147,7 +149,7 @@
public void onSuccess(String obj) {
HdlLogLogic.print("C绔洿鏀逛釜浜哄瘑鐮侀��鍑虹櫥褰�--->", true);
// HDLLinkPMUser.getInstance().logout(0);
- HdlAccountLogic.getInstance().logout();
+ HdlAccountLogic.getInstance().logout(LogoutType.NormalLogout);
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
index 380d866..bbafcfa 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
@@ -14,6 +14,7 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivitySetBinding;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -172,7 +173,7 @@
public void Confirm() {
dialog.dismiss();
HdlLogLogic.print("璁剧疆鐣岄潰閫�鍑虹櫥褰�---", true);
- HdlAccountLogic.getInstance().logout();
+ HdlAccountLogic.getInstance().logout(LogoutType.NormalLogout);
}
});
@@ -200,7 +201,7 @@
public void Confirm() {
dialog.dismiss();
HdlLogLogic.print("璁剧疆鏄惁鍒囨崲鐜鐣岄潰閫�鍑虹櫥褰�---", true);
- HDLLinkPMUser.getInstance().logout(100);
+ HdlAccountLogic.getInstance().logout(LogoutType.ServerSwitchingLogout);
}
});
dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java
index 25b6efc..1ea02b7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java
@@ -14,6 +14,7 @@
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityUnregisterBinding;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -114,7 +115,7 @@
dialog.dismiss();
HdlLogLogic.print("娉ㄩ攢璐﹀彿閫�鍑虹櫥褰�---", true);
// HDLLinkPMUser.getInstance().logout(0);
- HdlAccountLogic.getInstance().logout();
+ HdlAccountLogic.getInstance().logout(LogoutType.NormalLogout);
}
});
dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
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 9a111c7..6220d32 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
@@ -16,6 +16,7 @@
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -178,7 +179,7 @@
//鏈夊彲鑳芥槸绯荤粺鍥炴敹鎺塧ctivity瀵艰嚧鍥炶皟涓簄ull锛岃繖鏍锋儏鍐典笅寮哄埗杩斿洖鐧诲綍鐣岄潰锛�
//todo 闀挎椂闂存病鍝嶅簲灏嗛��鍑虹櫥褰曠晫闈㈤噸鏂扮櫥褰�
// HDLLinkPMUser.getInstance().logout(0);
- HdlAccountLogic.getInstance().logout();
+ HdlAccountLogic.getInstance().logout(LogoutType.AbnormalLogout);
}
}
}
@@ -334,7 +335,7 @@
@Override
public void onInitFinished(boolean b) {
- HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b,true);
+ HdlLogLogic.print("UniMPSDK 鍒濆鍖栧畬鎴�----" + b, true);
}
});
--
Gitblit v1.8.0