wxr
2023-06-06 592974441a4df95fffd9167c90192da1a390b1c2
HDL-ON_iOS/AppDelegate.cs
@@ -4,9 +4,6 @@
using Shared;
using UIKit;
using UserNotifications;
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
using HDL_ON.UI;
using HDL_ON.DAL.Server;
using Intents;
@@ -92,6 +89,14 @@
            // Get previous device token
            var oldDeviceToken = NSUserDefaults.StandardUserDefaults.StringForKey("PushDeviceToken");
            //new Alert("", DeviceToken, "取消", "确定").Show();
            //NSDictionary test = new NSDictionary(new NSString("123"), new NSString("test"));
            //NSError error;
            //NSData dicD = NSJsonSerialization.Serialize(test, NSJsonWritingOptions.PrettyPrinted,out error); ;
            //NSString str = new NSString(dicD,NSStringEncoding.UTF8);
            //new Alert("", str, "取消", "确定").Show();
            // Has the token changed?
            if (string.IsNullOrEmpty(oldDeviceToken) || !oldDeviceToken.Equals(DeviceToken))
@@ -123,6 +128,14 @@
        public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
        {
            Console.WriteLine("DidReceiveRemoteNotification:" + application.ApplicationState.ToString());
            Console.WriteLine("推送消息:"+userInfo);
            //var test = new NSDictionary();
            //test.SetNilValueForKey(new NSString("test"));
            //NSError error;
            //NSData dicD = NSJsonSerialization.Serialize(userInfo, NSJsonWritingOptions.PrettyPrinted, out error); ;
            //NSString str = new NSString(dicD, NSStringEncoding.UTF8);
            //new Alert("", str, "取消", "确定").Show();
            //读取推送信息
            UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
@@ -172,12 +185,26 @@
        public override void OnResignActivation(UIApplication application)
        {
            //设置全视通状态
            string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion;
            string errorVersion = "16.2.0";
            if (systemVersion.CompareTo(errorVersion) < 0)///全视通不兼容ios16以上的系统,不要加载这个先
            {
                Shared.IOS.HDLFVSDK.Video.FVapplicationWillResignActive(application);
            }
            Console.WriteLine("OnResignActivation");
            UserInfo.Current.unlockTime = DateTime.Now;
        }
        public override void DidEnterBackground(UIApplication application)
        {
            //设置全视通状态
            //string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion;
            //string errorVersion = "16.2.0";
            //if (systemVersion.CompareTo(errorVersion) < 0)///全视通不兼容ios16以上的系统,不要加载这个先
            //{
            //    Shared.IOS.HDLFVSDK.Video.FVapplicationDidEnterBackground(application);
            //}
            //SharedMethod.SharedMethod.IsBackground = true;
            //MainPage.IsEnterBackground = true;
            ////进入后台mqtt正在连接重置状态
@@ -203,6 +230,13 @@
        public override void OnActivated(UIApplication application)
        {
            //设置全视通状态
            //string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion;
            //string errorVersion = "16.2.0";
            //if (systemVersion.CompareTo(errorVersion) < 0)///全视通不兼容ios16以上的系统,不要加载这个先
            //{
            //    Shared.IOS.HDLFVSDK.Video.FVapplicationDidBecomeActive(application);
            //}
            Console.WriteLine("OnActivated");
            base.OnActivated(application);
            //HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
@@ -237,6 +271,14 @@
                {
                    Language.CurrentLanguage = "russian";
                }
                else if (NSLocale.PreferredLanguages[0].Contains("bul"))
                {
                    Language.CurrentLanguage = "български";
                }
                else if (NSLocale.PreferredLanguages[0].Contains("es-"))
                {
                    Language.CurrentLanguage = "Spanish";
                }
                else
                {
                    Language.CurrentLanguage = "English";
@@ -250,10 +292,18 @@
        public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
            //设置全视通状态
            //string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion;
            //string errorVersion = "16.2.0";
            //if (systemVersion.CompareTo(errorVersion) < 0)///全视通不兼容ios16以上的系统,不要加载这个先
            //{
            //    Shared.IOS.HDLFVSDK.Video.FVapplication(application, new NSDictionary());
            //}
            Console.WriteLine("111111111111");
            SetCurrentLanguage();
            //Shared.Application.FontSize = 12;
            //Bugly.Bugly.StartWithAppId("b58fb35436");
            Bugly.Bugly.StartWithAppId("1dc40c170a");
            //取消EditText默认密码输入方式
            //Shared.Application.IsEditTextContentTypePassword = false;
            //默认使用苹方字体
@@ -267,8 +317,6 @@
            Window.RootViewController = rootViewController;
            Window.MakeKeyAndVisible();
            AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e", typeof(Analytics), typeof(Crashes));
            SharedMethod.SharedMethod.sharedApp = application;
            //NSString* nsCount = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
            application.StatusBarStyle = UIStatusBarStyle.DarkContent;
@@ -281,14 +329,10 @@
            //    //RemoteInfo.Current.ReadMsgList(true);
            //}
            //高德key
            GDMapKit.setGDApiKey("f0635ea15c5d579c6e93d9f07a06da69");
            //高德key
            GDMapKit.setGDApiKey("f0635ea15c5d579c6e93d9f07a06da69");
            Console.WriteLine("FinishedLaunching");
            return true;
        }
        /// <summary>
        /// 处理通知消息
@@ -307,16 +351,18 @@
                    var messageType = "";
                    var expantContent = "";
                    var homeId = "";
                    if (userInfo.ContainsKey(new NSString("expandData")))
                    {
                        var expandDataStr = userInfo["expandData"] as NSString;
                        if(expandDataStr == null)
                        if (expandDataStr == null)
                        {
                            var expandDataNSD = userInfo["expandData"] as NSDictionary;
                            if (expandDataNSD != null)
                            {
                                expandData = expandDataNSD.ToString();
                                if(expandDataNSD.ContainsKey(new NSString("messageType"))){
                                if (expandDataNSD.ContainsKey(new NSString("messageType")))
                                {
                                    messageType = expandDataNSD["messageType"] as NSString;
                                    Utlis.WriteLine("messageType: " + messageType);
                                }
@@ -332,6 +378,7 @@
                                    homeId = expandDataNSD["homeId"].ToString();
                                    Utlis.WriteLine("homeId: " + homeId);
                                }
                            }
                        }
@@ -353,6 +400,11 @@
                    Utlis.WriteLine("PushMes title : " + pushMes.Title);
                    Utlis.WriteLine("PushMes message : " + pushMes.Content);
                    Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
                    if (!string.IsNullOrEmpty(pushMes.spk))//自研可视对讲需要记录时间反呼
                    {
                        UserInfo.Current.pushMessageInfo = pushMes;
                        UserInfo.Current.inCall = DateTime.Now;
                    }
                    if (bFinishedLaunching)
                    {
@@ -369,15 +421,17 @@
                            }
                            else
                            {
                                HDLCommon.Current.AdjustPushMessage(pushMes);
                                //HDLCommon.Current.AdjustPushMessage(pushMes);
                                this.CommonAdjustPushMessage(pushMes);//2023年04月13日15:55:54 修改
                            }
                        }
                    }
                    else
                    {
                        HDLCommon.Current.AdjustPushMessage(pushMes);
                        //HDLCommon.Current.AdjustPushMessage(pushMes);
                        this.CommonAdjustPushMessage(pushMes);
                    }
                }
            }
            catch
@@ -450,12 +504,33 @@
            MainPage.IsEnterBackground = false;
            HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
            //重连mqtt防止mqtt进入假死状态 2023-05-03 22:55:12 wxr
            HDL_ON.DAL.Mqtt.MqttClient.InitState();
            new AppUnlockPage().LoadPage();
            UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
            HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
        }
        public  void CommonAdjustPushMessage(JPushMessageInfo pushMes)
        {
            new System.Threading.Thread(new System.Threading.ThreadStart(() =>
            {
                while (MainPage.BasePageView == null)
                {
                    System.Threading.Thread.Sleep(300);
                }
                Shared.Application.RunOnMainThread(() =>
                {
                    HDLCommon.Current.AdjustPushMessage(pushMes);
                });
            })).Start();
        }
    }
}