From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 14:54:42 +0800 Subject: [PATCH] 2025年05月07日14:54:39 --- app/src/main/java/com/hdl/photovoltaic/ui/test/UniAppMqtt.java | 26 ++++++++++++-------------- 1 files changed, 12 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/UniAppMqtt.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/UniAppMqtt.java index d6881ce..ffc2f8d 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/test/UniAppMqtt.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/UniAppMqtt.java @@ -37,7 +37,7 @@ return clientId; } - final String tag = "MqttRecvClient1"; + final String tag = "uniToAndroid->>>MqttRecvClient--->"; /** * 褰撳墠 mqtt client */ @@ -178,24 +178,25 @@ * @param payload 鍐呭 */ public void publish(String topic, String payload) throws MqttException { + //鍥炲鏃讹紝mqtt涓婚涓殑鏂瑰悜瑕佸彉鍖栵紝瑕佸仛鏂瑰悜鏇挎崲 topic = topic.replace("PCToAndroid", "AndroidToPC"); + String finalTopic = topic; mClient.publish(topic, payload.getBytes(), 1, false, null, new IMqttActionListener() { @Override public void onSuccess(IMqttToken asyncActionToken) { - + LogUtils.e(tag, "鍥炲涓婚--->" + finalTopic + "\r\n" + payload); } @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { - + LogUtils.e(tag, "鍥炲澶辫触--->" + finalTopic + "\r\n" + exception.getMessage()); } }); } /** * 鍙栨秷璁㈤槄 - * */ public void unsubscribe(String topic) throws MqttException { mClient.unsubscribe(topic, null, new IMqttActionListener() { @@ -213,7 +214,6 @@ /** * 鏂紑杩炴帴 - * */ public void disconnect() throws MqttException { mClient.disconnect(null, new IMqttActionListener() { @@ -233,7 +233,7 @@ * uni閫氳繃qtt浼犺繃鏉ョ殑鏁版嵁澶勭悊 * * @param topic 涓婚 - * @param payload 鍐呭 + * @param payload 璐熻浇鍐呭 */ @RequiresApi(api = Build.VERSION_CODES.O) void sendMqttToUni(final String topic, String payload) { @@ -241,27 +241,25 @@ return; } String[] split = topic.split("/"); - String event = null; - for (String s : split) { - if (s.startsWith("uni_")) { - event = s; - break; - } + if (split.length < 3) { + return; } - + //琛ㄧず澶х被 + String request_module_topic = split[2]; MqttDCUniMPJSCallback mqttDCUniMPJSCallback = new MqttDCUniMPJSCallback(); mqttDCUniMPJSCallback.setMqttCallBack(new MqttCallBack() { @Override public void onResult(Object data) { if (null != data) try { + //杩斿洖鏁版嵁缁檜ni publish(topic, data.toString()); } catch (Exception ignored) { } } }); // JSON.parse(payload) - HdlUniLogic.getInstance().onOtherUniMPEventReceive(HDLUniMP.UNI_APP_ID, topic, payload, mqttDCUniMPJSCallback); + HdlUniLogic.getInstance().onOtherUniMPEventReceive(HDLUniMP.UNI_APP_ID, request_module_topic, payload, mqttDCUniMPJSCallback); } private boolean mIsUni = false; -- Gitblit v1.8.0