From 01c46e7bfe9aa8fb20b29f70c83c03a307af548a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 22 十二月 2020 16:35:16 +0800
Subject: [PATCH] 2020-12-22 1.更新。

---
 HDL-ON_iOS/AppDelegate.cs |  136 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 105 insertions(+), 31 deletions(-)

diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index c10be06..f520b4b 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -16,7 +16,7 @@
     {
         public static UIApplication sharedApp;
         public static PageLayout CurPageLayout = null;
-        public static bool IsBackground;
+        //public static bool IsBackground;
 
         //public static string CheckVersion()
         //{
@@ -99,18 +99,23 @@
 
                 // Save new device token 
                 NSUserDefaults.StandardUserDefaults.SetString(DeviceToken, "PushDeviceToken");
-                string userPhoneName = UIDevice.CurrentDevice.Name;
 
-                UserInfo.Current.PushDeviceToken = DeviceToken;
-                UserInfo.Current.PhoneName = userPhoneName;
-                UserInfo.Current.SaveUserInfo();
+                //UserInfo.Current.PushDeviceToken = DeviceToken;
+                //UserInfo.Current.PhoneName = userPhoneName;
+                //UserInfo.Current.SaveUserInfo();
+                OnAppConfig.Instance.PushDeviceToken = DeviceToken;
+                OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name;
+                OnAppConfig.Instance.SaveConfig();
             }
-            if (UserInfo.Current.PushDeviceToken != DeviceToken)
+            if (OnAppConfig.Instance.PushDeviceToken != DeviceToken)
             {
-                string userPhoneName = UIDevice.CurrentDevice.Name;
-                UserInfo.Current.PushDeviceToken = DeviceToken;
-                UserInfo.Current.PhoneName = userPhoneName;
-                UserInfo.Current.SaveUserInfo();
+                //string userPhoneName = UIDevice.CurrentDevice.Name;
+                //UserInfo.Current.PushDeviceToken = DeviceToken;
+                //UserInfo.Current.PhoneName = userPhoneName;
+                //UserInfo.Current.SaveUserInfo();
+                OnAppConfig.Instance.PushDeviceToken = DeviceToken;
+                OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name;
+                OnAppConfig.Instance.SaveConfig();
             }
         }
 
@@ -165,25 +170,27 @@
         public override void OnResignActivation(UIApplication application)
         {
             Console.WriteLine("OnResignActivation");
-            OnAppConfig.Instance.unlockTime = DateTime.Now;
-            HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
+            UserInfo.Current.unlockTime = DateTime.Now;
         }
 
         public override void DidEnterBackground(UIApplication application)
         {
-            SharedMethod.SharedMethod.IsBackground = true;
+            //SharedMethod.SharedMethod.IsBackground = true;
+            //MainPage.IsEnterBackground = true;
+            ////杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
+            //HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false;
+            //HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
+            //杩涘叆鍚庡彴
+            BusSocketStop();
             Console.WriteLine("DidEnterBackground");
         }
 
 
         public override void WillEnterForeground(UIApplication application)
         {
-            SharedMethod.SharedMethod.IsBackground = false;
-            HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
-            new AppUnlockPage().LoadPage();
+            //鍥炲埌鍓嶅彴锛屽鐞嗕簨浠�
+            BusSocketStart();
             Console.WriteLine("WillEnterForeground");
-            UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
-            HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
         }
 
         public override void WillTerminate(UIApplication application)
@@ -195,29 +202,37 @@
         {
             Console.WriteLine("OnActivated");
             base.OnActivated(application);
+            HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
 
             //if (haveToSignOut == true)
             //{
-                ////寮哄埗涓嬬嚎
-                //UserInfo.Current.LastTime = DateTime.MinValue;
-                //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
-                //UserInfo.Current.SaveUserInfo();
-                //HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
+            ////寮哄埗涓嬬嚎
+            //UserInfo.Current.LastTime = DateTime.MinValue;
+            //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+            //UserInfo.Current.SaveUserInfo();
+            //HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
             //}
 
         }
 
         public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
         {
-
             //Shared.Application.FontSize = 12;
+            //Bugly.Bugly.StartWithAppId("b58fb35436");
+
+            //鍙栨秷EditText榛樿瀵嗙爜杈撳叆鏂瑰紡
+            Shared.Application.IsEditTextContentTypePassword = false;
+            //榛樿浣跨敤鑻规柟瀛椾綋
             Shared.Application.IsUsePingFang = true;
+            //淇濇寔灞忓箷甯镐寒鎴栬�呰嚜鍔ㄩ攣灞�
+            application.IdleTimerDisabled = false;
+
             Window = new UIWindow(UIScreen.MainScreen.Bounds);
             rootViewController = new UINavigationController(new ViewController()) { NavigationBarHidden = true };
             Window.RootViewController = rootViewController;
             Window.MakeKeyAndVisible();
 
-            AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e",typeof(Analytics), typeof(Crashes));
+            //AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e",typeof(Analytics), typeof(Crashes));
             base.FinishedLaunching(application, launchOptions);
 
             SharedMethod.SharedMethod.sharedApp = application;
@@ -234,7 +249,7 @@
             //    OnAppConfig.Instance.SaveUserConfig();
             //}
 
-            application.IdleTimerDisabled = true;
+           
             application.RegisterForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound);
 
             //window.AccessibilityNavigationStyle = UIAccessibilityNavigationStyle.Automatic;
@@ -284,20 +299,39 @@
                     var body = alert["body"] as NSString;
                     var title = alert["title"] as NSString;
                     var expandData = "";
+                    var messageType = "";
                     if (userInfo.ContainsKey(new NSString("expandData")))
                     {
-                        var expandDataNSD = userInfo["expandData"] as NSDictionary;
-                        expandData = expandDataNSD["messageType"] as NSString;
+                        var expandDataStr = userInfo["expandData"] as NSString;
+                        if(expandDataStr == null)
+                        {
+                            var expandDataNSD = userInfo["expandData"] as NSDictionary;
+                            if (expandDataNSD != null)
+                            {
+                                expandData = expandDataNSD.ToString();
+                                if(expandDataNSD.ContainsKey(new NSString("messageType"))){
+                                    messageType = expandDataNSD["messageType"] as NSString;
+                                    Utlis.WriteLine("messageType: "+ messageType);
+                                }
+                                
+                            }
+                        }
+                        else
+                        {
+                            expandData = expandDataStr;
+                        }
+
                     }
                     var pushMes = new JPushMessageInfo()
                     {
                         Title = title,
                         Content = body,
                         Extras = expandData,
+                        messageType = messageType
                     };
-                    System.Console.WriteLine("PushMes title : " + pushMes.Title);
-                    System.Console.WriteLine("PushMes message : " + pushMes.Content);
-                    System.Console.WriteLine("PushMes extras : " + pushMes.Extras);
+                    Utlis.WriteLine("PushMes title : " + pushMes.Title);
+                    Utlis.WriteLine("PushMes message : " + pushMes.Content);
+                    Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
 
                     if (bFinishedLaunching)
                     {
@@ -351,7 +385,47 @@
             }
         }
 
+        /// <summary>
+        /// 杩涘叆鍚庡彴鐨勬椂闂�
+        /// </summary>
+        DateTime CloseTime = DateTime.Now;
 
+        /// <summary>
+        /// 杩涘叆鍚庡彴澶勭悊鏃堕棿
+        /// BusSocketStop
+        /// </summary>
+        void BusSocketStop()
+        {
+            //SharedMethod.SharedMethod.IsBackground = true;
+            CloseTime = DateTime.Now;
+            MainPage.IsEnterBackground = true;
+            //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
+            HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false;
+            HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
+          
+        }
+
+
+        /// <summary>
+        /// 鍥炲埌鍓嶅彴锛屽鐞嗕簨浠�
+        /// </summary>
+        void BusSocketStart()
+        {
+            if (CloseTime.AddSeconds(10) < DateTime.Now)
+            {
+                //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛
+                if (HDL_ON.DriverLayer.Control.Ins.IsRemote)
+                {
+                    HDL_ON.DAL.Mqtt.MqttClient.DisConnectRemote("closeTime", false);
+                }
+            }
+
+            MainPage.IsEnterBackground = false;
+            HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
+            new AppUnlockPage().LoadPage();
+            UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
+            HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
+        }
 
     }
 

--
Gitblit v1.8.0