wjc
16 小时以前 6dbd495275d37705d3faa901e5b7c34f8da43a87
app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -34,6 +34,7 @@
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.LoginActivity;
import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
@@ -44,10 +45,12 @@
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.analytics.MobclickAgent;
//import com.umeng.commonsdk.UMConfigure;
import org.greenrobot.eventbus.EventBus;
import java.io.Console;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -88,6 +91,7 @@
    @Override
    public void onCreate() {
        super.onCreate();
        Log.d("=======", "11111111");
//        // 获取当前进程的PID
//        String processMessage= "进程ID:"+Process.myPid()+" 进程名:"+RuningAcitvityUtil.getAppName(getBaseContext());
//        Log.d(TAG, processMessage);
@@ -204,6 +208,7 @@
     * 初始化HDLLinkPMSdk
     */
    private void initHDLLinkPMSdk() {
        Log.d("===1====", "2222222");
        //1.初始化SDK
        HDLLinkPMSdk.initWithAppKey(this, AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
        //2.设置打印
@@ -228,6 +233,13 @@
        HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
            @Override
            public void onReLogin(int type) {
                if (5 == type) {
                    //切换服务器地址用的
                    UserConfigManage.getInstance().setOnlineServer(!UserConfigManage.getInstance().isOnlineServer());
                    UserConfigManage.getInstance().Save();
                    restartApp(mHDLApp);
                    return;
                }
                HdlLogLogic.print("监听到登录退出---" + type, true);
                //type:  0:正常退出   1:极光推送强制退出
@@ -435,4 +447,42 @@
            return this;
        }
    }
    /**
     * 重启app
     */
    private void restartApp(Context context) {
        try {
            MobclickAgent.onKillProcess(context);
            Intent intent = new Intent(context, StartActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            context.startActivity(intent);
            killAppProcess(context);
        } catch (Exception e) {
            String a = e.getMessage();
        }
    }
    private void killAppProcess(Context context) {
//        AppManagerUtils.getAppManager().finishAllActivity();
        try {
            android.app.ActivityManager manager = (android.app.ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
            List<android.app.ActivityManager.RunningAppProcessInfo> processInfos = manager.getRunningAppProcesses();
            // 先杀掉相关进程,最后再杀掉主进程
            for (android.app.ActivityManager.RunningAppProcessInfo runningAppProcessInfo : processInfos) {
                if (runningAppProcessInfo.pid != android.os.Process.myPid()) {
                    try {
                        android.os.Process.killProcess(runningAppProcessInfo.pid);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            android.os.Process.killProcess(android.os.Process.myPid());
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.exit(0);
    }
}