From a01f2b7bb230a6a384ba1555280e3977154488a1 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 23 十二月 2020 20:42:44 +0800
Subject: [PATCH] 2020-12-23 1.解决点击通知栏打开不了APP问题
---
HDL_ON/DAL/Mqtt/MqttClient.cs | 36 +++++++++++++++++++++++++++++-------
1 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 1e1e716..1ecf619 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -119,7 +119,7 @@
/// <summary>
/// 澶栫綉鐨凪QTT鏄惁姝e湪杩炴帴
/// </summary>
- public static bool remoteMqttIsConnecting;
+ public static bool RemoteMqttIsConnecting;
static bool remoteIsConnected;
static MqttClient()
@@ -138,6 +138,8 @@
{
System.Threading.Thread.Sleep(500);
if (!Control.Ins.IsRemote) continue;
+ //杩涘叆鍚庡彴涓嶅鐞�
+ if (MainPage.IsEnterBackground) continue;
await StartCloudMqtt();
await SubscribeTopics();
@@ -221,7 +223,7 @@
}
//杩藉姞锛氭病鏈夎繙绋嬭繛鎺ョ殑鏉冮檺
- if (remoteMqttIsConnecting || remoteIsConnected)
+ if (RemoteMqttIsConnecting || remoteIsConnected)
{
return;
}
@@ -232,7 +234,7 @@
try
{
#region 鍒濆鍖栬繙绋婱qtt
- remoteMqttIsConnecting = true;
+ RemoteMqttIsConnecting = true;
RemoteMqttClient = new MqttFactory().CreateMqttClient();
@@ -267,6 +269,7 @@
}
else
{
+ MainPage.Log($"mqtt data");
SetGatewayOnlineResetCheck();
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, DB_ResidenceData.Instance.HomeGateway.aesKey);
@@ -289,7 +292,7 @@
{
//A鍗忚鏁版嵁澶勭悊
var revString = Encoding.UTF8.GetString(bytes);
- Control.Ins.UpdataFunctionStatus(revString);
+ Control.Ins.UpdataFunctionStatus(revString,null);
}
}
}
@@ -310,9 +313,23 @@
if (RemoteMqttClient.ConnectedHandler == null)
{
RemoteMqttClient.UseConnectedHandler(async (e) => {
- if (DB_ResidenceData.Instance.HomeGateway.GatewayOnline)
+ if (DB_ResidenceData.Instance.HomeGateway.gatewayStatus)
{
Control.Ins.GatewayOnline = true;
+ }
+ else
+ {
+ //new System.Threading.Thread(() => {
+ // while(true)
+ // {
+ // System.Threading.Thread.Sleep(1000);
+ // if (DB_ResidenceData.Instance.HomeGateway.GatewayOnline)
+ // {
+ // Control.Ins.GatewayOnline = true;
+ // break;
+ // }
+ // }
+ //}) { IsBackground = true }.Start();
}
IfNeedReadAllDeviceStatus = true;
Utlis.WriteLine($"============>Mqtt杩滅▼杩炴帴鎴愬姛");
@@ -343,7 +360,7 @@
finally
{
//鏈�缁堣閲婃斁杩炴帴鐘舵��
- remoteMqttIsConnecting = false;
+ RemoteMqttIsConnecting = false;
Utlis.WriteLine($"StartCloudMqtt: 缁撴潫");
}
@@ -540,7 +557,12 @@
DisConnectRemoteMqttClient("鎸や笅绾�");
- HDLCommon.Current.CheckLogout();
+ Application.RunOnMainThread(() =>
+ {
+ //寮圭獥鎻愮ず琚尋涓嬬嚎
+ HDLCommon.Current.CheckLogout();
+ });
+
//UserInfo.Current.LastTime = DateTime.MinValue;
//UserInfo.Current.SaveUserInfo();
--
Gitblit v1.8.0