weimingfei
2026-05-21 025f806542921dcaa6719453f208e8a9dda8d450
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
@@ -339,6 +339,9 @@
                    if(devConfigBean.getBannerList()!=null) {
                        setBanner(devConfigBean.getBannerList());
                    }
                    if(!isFaceOk) {
                        initLicense();
                    }
                    setJiuConfig();
                    initPort();
                }
@@ -398,6 +401,10 @@
        switch (type){
            case 2:
            case 3: {
                if(!isFaceOk) {
                    initLicense();
                    return;
                }
                //校验是否登录
                if(MApplication.getConfigBean().getId()==null){
                    Toast.makeText(mContext, "设备未添加,无法操作", Toast.LENGTH_SHORT).show();
@@ -477,13 +484,11 @@
    protected void onResume() {
        super.onResume();
        isShowing = true;
        getVM().setSubmit(true);
        YNHAPI mAPI = YNHAPI.getInstance();
        mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.ALWAYS_INVISIBLE);
        mAPI.setBootLaunchApk("com.doumee.keyCabinet", true);
        showTime = System.currentTimeMillis();
        if(!isFaceOk) {
            initLicense();
        }
        if(isHavePermission) {
            checkUpdate();
        }
@@ -752,6 +757,7 @@
        super.onPause();
        showTime = null;
        isShowing = false;
        getVM().setSubmit(false);
    }
    private int finishCount;
@@ -1292,9 +1298,6 @@
            if(bytes.length==0){
                return;
            }
            runOnUiThread(() -> {
                getVM().addInfo("获取到门数据:"+StringUtil.DateToStrSS(new Date())+"==>"+ SportUtils.bytesToHexSimple(bytes));
            });
            EventBus.getDefault().post(new CLGridEvent(SportUtils.bytesToHexSimple(bytes)));
        }
    };
@@ -1312,6 +1315,7 @@
            String data = e.getData();
            data = data.toUpperCase();
            data = data.replaceAll("\\s+", "");
            String finalData = data;
            if(data.startsWith("8A")){
                //开锁反馈
                String bh = data.substring(2,4);
@@ -1372,6 +1376,9 @@
                    }
                }
            }else if(data.startsWith("81")){
                runOnUiThread(() -> {
                    getVM().addInfo(">>>>>>>>>>>>>>>获取到关门数据:"+StringUtil.DateToStrSS(new Date())+"==>"+ finalData);
                });
                //主动关门 81 01 01 11 90
                String bh = data.substring(2,4);
                String tdh = data.substring(4,6);
@@ -1392,6 +1399,9 @@
                }
            }else if(data.startsWith("80")){
                //查询所有门状态
                runOnUiThread(() -> {
                    getVM().addInfo("<<<<<<<<<<<<<<<<<<<<获取到所有门状态数据:"+StringUtil.DateToStrSS(new Date())+"==>"+ finalData);
                });
                //80 01 00 00 FF FF 33 B2
                //80 02 00 00 00 F7 33 46
                if(data.length()>=14){
@@ -1529,7 +1539,17 @@
            //一号版
            bh = 1;
        }
        String[] sp = data.split("AA");
        List<String> sp = new ArrayList<>();
        String data2 = data.substring(8,data.length());
        while (data2.length()>0){
            if (data2.length()<22) {
                sp.add(data2+"");
                data2 = "";
            }else {
                sp.add(data2.substring(0,22));
                data2 = data2.substring(22);
            }
        }
        for(String s:sp){
            if(s.length()>=20){
                String key = SportUtils.intToHex(bh)+s.substring(4,6);
@@ -1554,7 +1574,7 @@
        }
        getVM().updateGrids(updateList);
        EventBus.getDefault().post(new KeyResultEvent());
        EventBus.getDefault().post(new KeyResultEvent(bh+""));
    }
    private SerialPortModel jiuPort;
@@ -1755,9 +1775,9 @@
    private boolean isInitPort;
    //初始化串口
    private void initPort(){
        //SpUtil.setString("port_grid","/dev/ttyS7");
        //SpUtil.setString("port_key","/dev/ttyS1");
        //SpUtil.setString("port_jiu","/dev/ttyS2");
        SpUtil.setString("port_grid","/dev/ttyS7");
        SpUtil.setString("port_key","/dev/ttyS1");
        SpUtil.setString("port_jiu","/dev/ttyS2");
        gridPath = SpUtil.getString("port_grid");
        getVM().addInfo("门串口链接:"+gridPath);
        keyPath = SpUtil.getString("port_key");