mac
2024-04-11 a291be17a07e3f657f5871675709d7ff76fe35b6
app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -2,14 +2,11 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Process;
@@ -18,7 +15,6 @@
import android.text.TextUtils;
import android.view.View;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -47,6 +43,7 @@
import com.hdl.photovoltaic.utils.GPSManagerUtils;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
import com.hdl.sdk.link.HDLLinkLocalSdk;
import com.hdl.sdk.link.common.event.EventListener;
import com.hdl.sdk.link.core.bean.LinkResponse;
@@ -54,6 +51,7 @@
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.core.connect.HDLUdpConnect;
import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
import org.greenrobot.eventbus.EventBus;
@@ -67,7 +65,7 @@
/**
 * 我的电站界面
 * B端-电站界面
 */
public class MyPowerStationActivity extends CustomBaseActivity {
@@ -101,6 +99,20 @@
        //初始化权限
        this.requestPermissions();
    }
    @Override
    protected void onResume() {
        super.onResume();
        //启动页与mainActivity样式一样,这样启动页和mainActivity看上去是一个界面,目的是为了mainActivity遮住下一页;
        AppManagerUtils.getAppManager().finishActivity(StartActivity.class);
        portConflictDialog();
//        Intent intent = new Intent(_mActivity, MyPowerStationActivity.class);
//        intent.setFlags(Intent.Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
//        intent.putExtra("skip", "skip");//里面判断有这个标识就跳转到消息中心界面
//        _mActivity.startActivity(intent);
        //点击极光通知栏消息进来
//        this.clickJpushNotificationMessage();
    }
@@ -226,11 +238,6 @@
        HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack();
        //移除监听
        HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener);
        //断开mqtt连接
        if (MqttRecvClient.getInstance() != null) {
            MqttRecvClient.getInstance().stop();
        }
    }
    private void initView() {
@@ -238,6 +245,7 @@
        viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message);
        viewBinding.myMeBottomIl3.titleTv.setText(R.string.power_station_me);
        this.bottomViewChangeOfStyle();
    }
@@ -393,20 +401,22 @@
     * 初始化mqtt客户端
     */
    public void initMqttClient() {
        HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() {
            @Override
            public void onSuccess(MqttInfo info) {
                if (info != null) {
                    MqttRecvClient.init(_mActivity, info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord());
        if (!MqttRecvClient.getInstance().isInit()) {
            HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() {
                @Override
                public void onSuccess(MqttInfo info) {
                    if (info != null) {
                        MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord(),null);
                        MqttRecvClient.getInstance().connect();
                    }
                }
            }
            @Override
            public void onFailure(HDLException e) {
                HdlLogLogic.print("读取mqtt远程信息失败--->" + e.getMessage(), e.getCode(), true);
            }
        });
                @Override
                public void onFailure(HDLException e) {
                    HdlLogLogic.print("读取mqtt远程信息失败--->" + e.getMessage(), e.getCode(), true);
                }
            });
        }
    }
    @Subscribe(threadMode = ThreadMode.MAIN)
@@ -571,4 +581,23 @@
    }
    /**
     * 端口冲突
     */
    private void portConflictDialog() {
        if (!HDLUdpConnect.getInstance().isBindSuccess()) {
            ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
            dialog.show();
            dialog.setTitle(getString(R.string.loading_title_tip));
            dialog.setContent(getString(R.string.port_conflict));
            dialog.setConfirmation(getString(R.string.home_login_affirm));
            dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                @Override
                public void Confirm() {
                    dialog.dismiss();
                }
            });
        }
    }
}