Crabtree/ON.Ios/AppDelegate.cs
@@ -6,6 +6,7 @@
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
using Shared;
using Shared.SimpleControl;
using UIKit;
using UserNotifications;
@@ -192,14 +193,14 @@
        {
            Utlis.WriteLine ("OnResignActivation");
            //Shared.BusSocket.Stop ();
            BusSocketStop ();
            //BusSocketStop ();
        }
        public override void DidEnterBackground (UIApplication application)
        {
            SharedMethod.SharedMethod.IsBackground = true;
            Utlis.WriteLine ("DidEnterBackground");
            //BusSocketStop ();
            BusSocketStop ();
        }
        public override void WillEnterForeground (UIApplication application)
@@ -211,7 +212,7 @@
            UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
            // Called as part of the transiton from background to active state.
            // Here you can undo many of the changes made on entering the background.
            //BusSocketStart ();
            BusSocketStart ();
        }
        public override void WillTerminate (UIApplication application)
@@ -225,7 +226,7 @@
            Utlis.WriteLine ("OnActivated");
            base.OnActivated (application);
            BusSocketStart ();
            //BusSocketStart ();
            ////有些系统版本这里启动比视图控制器快
            //if (!Shared.SimpleControl.MainPage.Showed) {
            //    System.Threading.Tasks.Task.Run (() => {
@@ -256,14 +257,14 @@
            //com.freeview.global.Video.FVapplicationDidBecomeActive (application);
        }
        //DateTime closeTime = DateTime.MinValue;
        DateTime closeTime = DateTime.MinValue;
        /// <summary>
        /// BusSocketStop
        /// </summary>
        void BusSocketStop ()
        {
            Shared.BusSocket.Stop ();
            //closeTime = DateTime.Now;
            closeTime = DateTime.Now;
        }
@@ -273,6 +274,14 @@
        void BusSocketStart ()
        {
            if (closeTime == DateTime.MinValue) {
                closeTime = DateTime.Now;
            } else if (closeTime.AddSeconds (20) < DateTime.Now) {
                if (CommonPage.IsRemote) {
                    SmartHome.MqttCommon.DisConnectRemoteMqttClient ("closeTime");
                }
            }
            //if (closeTime == DateTime.MinValue) {
            //    closeTime = DateTime.Now;
            //} else if (closeTime.AddMinutes (2) > DateTime.Now) {