From 09dfbfd9b77ec887c17b10f15799a1d3f56e4e17 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 15 十二月 2020 12:04:42 +0800 Subject: [PATCH] 2020-12-15-1 --- HDL-ON_iOS/AppDelegate.cs | 207 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 175 insertions(+), 32 deletions(-) diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs index 821c341..456c684 100644 --- a/HDL-ON_iOS/AppDelegate.cs +++ b/HDL-ON_iOS/AppDelegate.cs @@ -8,6 +8,7 @@ using Microsoft.AppCenter.Analytics; using Microsoft.AppCenter.Crashes; using HDL_ON.UI; +using HDL_ON.DAL.Server; namespace SharedMethod { @@ -23,7 +24,7 @@ // UserConfig.Instance.IsAppStoreVersionNewer = Harpy.Harpy.SharedInstance.TestIsAppStoreVersionNewer; // UserConfig.Instance.StoreVersion = Harpy.Harpy.SharedInstance.CurrentAppStoreVersion; // UserConfig.Instance.SaveUserConfig(); - // if (Shared.SimpleControl.MainPage.LoginUser.AccountString == @"464027401@qq.com") + // if (Shared.SimpleControl. UserInfo.Current.AccountString == @"464027401@qq.com") // { // return $"TestIsAppStoreVersionNewer : {UserConfig.Instance.IsAppStoreVersionNewer};; CurrentAppStoreVersion : {UserConfig.Instance.StoreVersion}"; // } @@ -34,6 +35,7 @@ //} } + } namespace HDL_ON_iOS @@ -97,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(); OnAppConfig.Instance.PushDeviceToken = DeviceToken; - //UserConfig.Instance.phoneName = userPhoneName; - //UserConfig.Instance.SaveUserConfig(); + OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name; + OnAppConfig.Instance.SaveConfig(); } if (OnAppConfig.Instance.PushDeviceToken != DeviceToken) { - string userPhoneName = UIDevice.CurrentDevice.Name; + //string userPhoneName = UIDevice.CurrentDevice.Name; + //UserInfo.Current.PushDeviceToken = DeviceToken; + //UserInfo.Current.PhoneName = userPhoneName; + //UserInfo.Current.SaveUserInfo(); OnAppConfig.Instance.PushDeviceToken = DeviceToken; - //UserConfig.Instance.phoneName = userPhoneName; - //UserConfig.Instance.SaveUserConfig(); + OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name; + OnAppConfig.Instance.SaveConfig(); } } @@ -118,6 +125,26 @@ //璇诲彇鎺ㄩ�佷俊鎭� UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; + + if (userInfo == null) + { + return; + } + + Console.WriteLine(userInfo); + + if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) + { + + HandleNotificationMessageUserInfo(userInfo, false); + } + else + { + //Inactive + HandleNotificationMessageUserInfo(userInfo, false); + + } + completionHandler(UIBackgroundFetchResult.NewData); } public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo) @@ -143,7 +170,8 @@ public override void OnResignActivation(UIApplication application) { Console.WriteLine("OnResignActivation"); - BusSocket.Stop(); + UserInfo.Current.unlockTime = DateTime.Now; + HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop(); } public override void DidEnterBackground(UIApplication application) @@ -156,10 +184,11 @@ public override void WillEnterForeground(UIApplication application) { SharedMethod.SharedMethod.IsBackground = false; - //BusSocket.Start(6000); + HDL_ON.DriverLayer.UdpSocket._BusSocket.Start(); new AppUnlockPage().LoadPage(); Console.WriteLine("WillEnterForeground"); UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; + HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway(); } public override void WillTerminate(UIApplication application) @@ -172,19 +201,35 @@ Console.WriteLine("OnActivated"); base.OnActivated(application); + //if (haveToSignOut == true) + //{ + ////寮哄埗涓嬬嚎 + //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; - //Shared.Application.IsUsePingFang = true; + + //鍙栨秷EditText榛樿瀵嗙爜杈撳叆鏂瑰紡 + Shared.Application.IsEditTextContentTypePassword = false; + //榛樿浣跨敤鑻规柟瀛椾綋 + Shared.Application.IsUsePingFang = true; + ////榛樿绂佹闊充箰鏈嶅姟 + //Shared.Application.IsMusicEnable = false; + //淇濇寔灞忓箷甯镐寒鎴栬�呰嚜鍔ㄩ攣灞� + 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)); base.FinishedLaunching(application, launchOptions); @@ -193,30 +238,23 @@ //NSString* nsCount = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; application.StatusBarStyle = UIStatusBarStyle.DarkContent; - string nsCount = NSLocale.CurrentLocale.CountryCode; - if (nsCount != OnAppConfig.Instance.CountryCode) - { - OnAppConfig.Instance.CountryCode = nsCount; - OnAppConfig.Instance.SaveUserConfig(); - } - application.IdleTimerDisabled = true; + //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 - if (launchOptions != null) - { - // check for a remote notification - if (launchOptions.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) - { - - NSDictionary remoteNotification = launchOptions[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; - if (remoteNotification != null) - { - //UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; - } - } - } + DealWithPushMes(launchOptions); + if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0)) { var notificationSettings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null); @@ -245,6 +283,111 @@ Console.WriteLine("FinishedLaunching"); return true; } + + /// <summary> + /// 澶勭悊閫氱煡娑堟伅 + /// </summary> + void HandleNotificationMessageUserInfo(NSDictionary userInfo, bool bFinishedLaunching) + { + try + { + if (userInfo.ContainsKey(new NSString("aps"))) + { + var aps = userInfo["aps"] as NSDictionary; + var alert = aps["alert"] as NSDictionary; + var body = alert["body"] as NSString; + var title = alert["title"] as NSString; + var expandData = ""; + if (userInfo.ContainsKey(new NSString("expandData"))) + { + var expandDataStr = userInfo["expandData"] as NSString; + if(expandDataStr == null) + { + var expandDataNSD = userInfo["expandData"] as NSDictionary; + if (expandDataNSD != null) + { + expandData = expandDataNSD.ToString(); + } + } + else + { + 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() + { + Title = title, + Content = body, + Extras = expandData, + }; + System.Console.WriteLine("PushMes title : " + pushMes.Title); + System.Console.WriteLine("PushMes message : " + pushMes.Content); + System.Console.WriteLine("PushMes extras : " + pushMes.Extras); + + if (bFinishedLaunching) + { + if (pushMes.Extras != null && 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); + } + + } + } + catch + { + + } + } + + ///// <summary> + ///// 閫�鍑虹櫥褰曟爣璁� + ///// </summary> + //bool haveToSignOut; + /// <summary> + /// 鍚姩APP 澶勭悊閫氱煡 + /// </summary> + /// <param name="launchOptions"></param> + void DealWithPushMes(NSDictionary launchOptions) + { + //haveToSignOut = false; + if (launchOptions != null) + { + // check for a remote notification + if (launchOptions.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) + { + NSDictionary userInfo = launchOptions[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; + + if (userInfo != null) + { + HandleNotificationMessageUserInfo(userInfo, true); + + } + } + } + } + + + } + } -- Gitblit v1.8.0