app/src/main/assets/data/dcloud_control.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> 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"); // // 获取当前进程的PID // 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); } /** * 初始化UniMPSDK 小程序SDK @@ -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) { app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java
New file @@ -0,0 +1,36 @@ package com.hdl.photovoltaic.enums; /** * 退出登录类型 */ public enum LogoutType { /** * 正常退出(一般指用户退出登录,密码更新) */ 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; } } 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()); } }); } 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; //本地密钥获取 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); 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); } 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() { 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() { 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 @@ //有可能是系统回收掉activity导致回调为null,这样情况下强制返回登录界面; //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); } });