From 17b81245f31d032d5eed69c190e42edb1949f46b Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 12 四月 2022 16:37:39 +0800
Subject: [PATCH] 修复接听后闪退的问题
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 69 +++++++++++++++++++++++++++++-----
1 files changed, 58 insertions(+), 11 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
index 7458c14..e5e993b 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
@@ -1,5 +1,7 @@
package com.hdl.sdk.connect;
+import com.hdl.sdk.common.utils.LogUtils;
+import com.hdl.sdk.common.utils.ThreadToolUtils;
import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
import com.hdl.sdk.connect.callback.HDLLinkCallBack;
import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack;
@@ -11,6 +13,7 @@
import com.hdl.sdk.connect.socket.HDLSocket;
import java.util.List;
+import java.util.concurrent.TimeUnit;
/**
* Created by jlchen on 11/15/21.
@@ -21,20 +24,20 @@
/**
* instance
*/
- private volatile static HDLLink instance;
+ private static final HDLLink instance=new HDLLink();
/**
* getInstance
*
* @return HDLLink
*/
- public static synchronized HDLLink getInstance() {
- if (instance == null) {
- synchronized (HDLLink.class) {
- if (instance == null) {
- instance = new HDLLink();
- }
- }
- }
+ public static HDLLink getInstance() {
+// if (instance == null) {
+// synchronized (HDLLink.class) {
+// if (instance == null) {
+// instance = new HDLLink();
+// }
+// }
+// }
return instance;
}
@@ -71,6 +74,7 @@
* @param callBack 缁撴灉鍥炶皟
*/
public void startAuthenticateRequest(AuthenticateRequest request, HDLLinkCallBack callBack) {
+ LogUtils.i("鍙戦�佽璇佽姹�");
HDLAuthSocket.getInstance().startAuthenticateRequest(request,callBack);
}
@@ -177,14 +181,25 @@
}
/**
- * 閫氱敤UDP骞挎挱鍙戦�佹寚浠�
+ * 閫氱敤UDP鍙戦�佹寚浠�
* 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
* @param topic 鍙戦�佹暟鎹�
* @param bodyStr body鍐呭
* @param callBack 鍥炶皟
*/
public void udpSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) {
- HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr, callBack);
+ HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,false, callBack);
+ }
+
+ /**
+ * 閫氱敤骞挎挱UDP鍙戦�佹寚浠�
+ * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
+ * @param topic 鍙戦�佹暟鎹�
+ * @param bodyStr body鍐呭
+ * @param callBack 鍥炶皟
+ */
+ public void udpBroadcastSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) {
+ HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,true, callBack);
}
/**
@@ -196,6 +211,38 @@
* @param callBack 鍥炶皟
*/
public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) {
+ HDLAuthSocket.getInstance();//閫氳繃杩欎釜鍙互鍏堝垵濮嬪寲UDP鐩戝惉浜嬩欢
HDLSocket.getInstance().tcpSendMsg(topic, bodyStr, callBack);
}
+
+ /**
+ * 閫氱敤鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+ *
+ * @param topic 鍙戦�佹暟鎹�
+ * @param bodyStr 鍥炲鐨勪富棰�
+ */
+ public void udpSendMsg(String topic, String bodyStr) {
+ HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,false);
+ }
+
+ /**
+ * 閫氱敤骞挎挱鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+ *
+ * @param topic 鍙戦�佹暟鎹�
+ * @param bodyStr 鍥炲鐨勪富棰�
+ */
+ public void udpBroadcastSendMsg(String topic, String bodyStr) {
+ HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,true);
+ }
+
+ /**
+ * 閫氱敤TCP鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+ *
+ * @param topic 鍙戦�佹暟鎹�
+ * @param bodyStr 鍥炲鐨勪富棰�
+ */
+ public void tcpSendMsg(String topic, String bodyStr) {
+ HDLAuthSocket.getInstance();//閫氳繃杩欎釜鍙互鍏堝垵濮嬪寲UDP鐩戝惉浜嬩欢
+ HDLSocket.getInstance().tcpSendMsg(topic, bodyStr);
+ }
}
--
Gitblit v1.8.0