From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL-ON_iOS/AppDelegate.cs | 267 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 180 insertions(+), 87 deletions(-) diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs index 860b509..2d22046 100644 --- a/HDL-ON_iOS/AppDelegate.cs +++ b/HDL-ON_iOS/AppDelegate.cs @@ -1,4 +1,4 @@ -锘縰sing System; +锘縰sing System; using Foundation; using HDL_ON; using Shared; @@ -9,6 +9,7 @@ using Microsoft.AppCenter.Crashes; using HDL_ON.UI; using HDL_ON.DAL.Server; +using Intents; namespace SharedMethod { @@ -16,7 +17,7 @@ { public static UIApplication sharedApp; public static PageLayout CurPageLayout = null; - public static bool IsBackground; + //public static bool IsBackground; //public static string CheckVersion() //{ @@ -99,18 +100,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(); } } @@ -127,6 +133,8 @@ } Console.WriteLine(userInfo); + //HDLCommon.Current.ShowAlert("DidReceiveRemoteNotification:" + userInfo.ToString()); + if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) { @@ -165,25 +173,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,86 +205,107 @@ { 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)); //} } + /// <summary> + /// 璁剧疆褰撳墠浣跨敤璇█ + /// </summary> + void SetCurrentLanguage() + { + if (string.IsNullOrEmpty(OnAppConfig.Instance.SetLanguage)) + { + if (NSLocale.PreferredLanguages[0].Contains("zh-")) + { + Language.CurrentLanguage = "Chinese"; + } + else if (NSLocale.PreferredLanguages[0].Contains("cs-")) + { + Language.CurrentLanguage = "Czech"; + } + else + { + Language.CurrentLanguage = "English"; + } + } + else + { + Language.CurrentLanguage = OnAppConfig.Instance.SetLanguage; + } + } + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { - + Console.WriteLine("111111111111"); + SetCurrentLanguage(); //Shared.Application.FontSize = 12; - + //Bugly.Bugly.StartWithAppId("b58fb35436"); //鍙栨秷EditText榛樿瀵嗙爜杈撳叆鏂瑰紡 - Shared.Application.IsEditTextContentTypePassword = false; + //Shared.Application.IsEditTextContentTypePassword = false; //榛樿浣跨敤鑻规柟瀛椾綋 Shared.Application.IsUsePingFang = true; - ////榛樿绂佹闊充箰鏈嶅姟 - //Shared.Application.IsMusicEnable = false; //淇濇寔灞忓箷甯镐寒鎴栬�呰嚜鍔ㄩ攣灞� application.IdleTimerDisabled = false; + base.FinishedLaunching(application, launchOptions); 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)); - base.FinishedLaunching(application, launchOptions); + 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; - - //string nsCount = NSLocale.CurrentLocale.CountryCode; - - //if ( UserInfo.Current != null && nsCount != UserInfo.Current.areaCode.ToString()) - //{ - // //int.TryParse(nsCount,out UserInfo.Current.areaCode); - // //2020-11-18 - // UserInfo.Current.areaCode = nsCount; - // OnAppConfig.Instance.SaveUserConfig(); - //} - - - application.RegisterForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound); - //window.AccessibilityNavigationStyle = UIAccessibilityNavigationStyle.Automatic; // check for a notification DealWithPushMes(launchOptions); - - if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0)) + + //if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) + //{ + // //RemoteInfo.Current.ReadMsgList(true); + //} + + #region Siri + // Request access to Siri + INPreferences.RequestSiriAuthorization((INSiriAuthorizationStatus status) => { + // Respond to returned status + switch (status) + { + case INSiriAuthorizationStatus.Authorized: + break; + case INSiriAuthorizationStatus.Denied: + break; + case INSiriAuthorizationStatus.NotDetermined: + break; + case INSiriAuthorizationStatus.Restricted: + break; + } + }); + + var language = INPreferences.SiriLanguageCode; + + // Take action based on language + if (language == "en-US") { - var notificationSettings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null); - application.RegisterUserNotificationSettings(notificationSettings); - application.RegisterForRemoteNotifications(); - } - else - { - //==== register for remote notifications and get the device token - // set what kind of notification types we want - UIRemoteNotificationType notificationTypes = UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge; - // register for remote notifications - UIApplication.SharedApplication.RegisterForRemoteNotificationTypes(notificationTypes); + // Do something... } - if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) - { - //RemoteInfo.Current.ReadMsgList(true); - } + #endregion - //Harpy.Harpy.SharedInstance.PresentingViewController = this.Window.RootViewController; - //Harpy.Harpy.SharedInstance.WeakDelegate = this; - //Harpy.Harpy.SharedInstance.AlertType = Harpy.HarpyAlertType.Skip; - //Harpy.Harpy.SharedInstance.DebugEnabled = false; - //Harpy.Harpy.SharedInstance.ForceLanguageLocalization = Harpy.Constants.HarpyLanguageChineseSimplified; + //楂樺痉key + GDMapKit.setGDApiKey("f0635ea15c5d579c6e93d9f07a06da69"); Console.WriteLine("FinishedLaunching"); return true; } @@ -293,6 +324,9 @@ var body = alert["body"] as NSString; var title = alert["title"] as NSString; var expandData = ""; + var messageType = ""; + var expantContent = ""; + var homeId = ""; if (userInfo.ContainsKey(new NSString("expandData"))) { var expandDataStr = userInfo["expandData"] as NSString; @@ -302,6 +336,23 @@ if (expandDataNSD != null) { expandData = expandDataNSD.ToString(); + if(expandDataNSD.ContainsKey(new NSString("messageType"))){ + messageType = expandDataNSD["messageType"] as NSString; + Utlis.WriteLine("messageType: " + messageType); + } + + if (expandDataNSD.ContainsKey(new NSString("expantContent"))) + { + expantContent = expandDataNSD["expantContent"] as NSString; + Utlis.WriteLine("expantContent: " + expantContent); + } + + if (expandDataNSD.ContainsKey(new NSString("homeId"))) + { + homeId = expandDataNSD["homeId"].ToString(); + Utlis.WriteLine("homeId: " + homeId); + } + } } else @@ -309,35 +360,37 @@ expandData = expandDataStr; } - //var expandDataNSD = userInfo["expandData"] as NSDictionary; - //if (expandDataNSD != null && expandDataNSD is NSDictionary) - //{ - // if (expandDataNSD.ContainsKey(new NSString("messageType"))) - // { - // expandData = expandDataNSD["messageType"] as NSString; - // } - //} } var pushMes = new JPushMessageInfo() { + HomeId = homeId, Title = title, Content = body, Extras = expandData, + messageType = messageType, + expantContent = expantContent }; - 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) { - if (pushMes.Extras != null && pushMes.Extras.Contains("OffLine")) + if (pushMes.Extras != null) { - //haveToSignOut = true; - //寮哄埗涓嬬嚎 - UserInfo.Current.LastTime = DateTime.MinValue; - UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚 - UserInfo.Current.SaveUserInfo(); - HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices)); + if (pushMes.Extras.Contains("OffLine")) + { + //haveToSignOut = true; + //寮哄埗涓嬬嚎 + UserInfo.Current.LastTime = DateTime.MinValue; + UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚 + UserInfo.Current.SaveUserInfo(); + HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices)); + } + else + { + HDLCommon.Current.AdjustPushMessage(pushMes); + } } } else @@ -349,7 +402,7 @@ } catch { - + //HDLCommon.Current.ShowAlert("catch2222"); } } @@ -373,14 +426,54 @@ if (userInfo != null) { - HandleNotificationMessageUserInfo(userInfo, true); + //HandleNotificationMessageUserInfo(userInfo, true); } } } } + /// <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