wjc
19 小时以前 a8a25a3ae373115f9342c766a7ee241e8ca8f479
2025年07月15日15:20:32
1个文件已添加
9个文件已修改
132 ■■■■ 已修改文件
app/src/main/assets/data/dcloud_control.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/HDLApp.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/LogoutType.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java 5 ●●●●● 补丁 | 查看 | 原始文档 | 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);
            }
        });