From 30b5770f56f99c1f92e933ad31cf7d2af58b033c Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 02 十二月 2020 16:31:48 +0800 Subject: [PATCH] 20201202 --- HDL-ON_iOS/AppDelegate.cs | 221 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 192 insertions(+), 29 deletions(-) diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs index 821c341..0709827 100644 --- a/HDL-ON_iOS/AppDelegate.cs +++ b/HDL-ON_iOS/AppDelegate.cs @@ -23,7 +23,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}"; // } @@ -100,15 +100,15 @@ string userPhoneName = UIDevice.CurrentDevice.Name; OnAppConfig.Instance.PushDeviceToken = DeviceToken; - //UserConfig.Instance.phoneName = userPhoneName; - //UserConfig.Instance.SaveUserConfig(); + OnAppConfig.Instance.PhoneName = userPhoneName; + OnAppConfig.Instance.SaveUserConfig(); } if (OnAppConfig.Instance.PushDeviceToken != DeviceToken) { string userPhoneName = UIDevice.CurrentDevice.Name; OnAppConfig.Instance.PushDeviceToken = DeviceToken; - //UserConfig.Instance.phoneName = userPhoneName; - //UserConfig.Instance.SaveUserConfig(); + OnAppConfig.Instance.PhoneName = userPhoneName; + OnAppConfig.Instance.SaveUserConfig(); } } @@ -118,6 +118,102 @@ //璇诲彇鎺ㄩ�佷俊鎭� UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; + + if (userInfo == null) + { + return; + } + + Console.WriteLine(userInfo); + + if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) + { + NSString key_hiddenJson = new NSString("HiddenJson"); + if (userInfo.ContainsKey(key_hiddenJson)) + { + var hiddenJson = userInfo["HiddenJson"].ToString(); + if (string.IsNullOrEmpty(hiddenJson)) + { + return; + } + + if (hiddenJson.Contains("cmtID")) + { + /////鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹� + //VideoMethod(hiddenJson); + } + else + { + + NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; + if (hiddenJsonDic == null) + { + return; + } + NSString key_Offline = new NSString("Offline"); + if (hiddenJsonDic.ContainsKey(key_Offline)) + { + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //寮哄埗涓嬬嚎 + //CommonPage.Instance.SingOut(); + HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices)); + } + } + } + } + } + else + { + NSString key_hiddenJson = new NSString("HiddenJson"); + if (userInfo.ContainsKey(key_hiddenJson)) + { + + var hiddenJson = userInfo["HiddenJson"].ToString(); + if (string.IsNullOrEmpty(hiddenJson)) + { + return; + } + + if (hiddenJson.Contains("cmtID")) + { + /////鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹� + //VideoMethod(hiddenJson); + } + else + { + + NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; + if (hiddenJsonDic == null) + { + return; + } + NSString key_Offline = new NSString("Offline"); + if (hiddenJsonDic.ContainsKey(key_Offline)) + { + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //鏍囪涓嬬嚎 + haveToSignOut = true; + } + } + } + } + + } + completionHandler(UIBackgroundFetchResult.NewData); } public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo) @@ -143,7 +239,8 @@ public override void OnResignActivation(UIApplication application) { Console.WriteLine("OnResignActivation"); - BusSocket.Stop(); + OnAppConfig.Instance.unlockTime = DateTime.Now; + //BusSocket.Stop(); } public override void DidEnterBackground(UIApplication application) @@ -156,7 +253,7 @@ public override void WillEnterForeground(UIApplication application) { SharedMethod.SharedMethod.IsBackground = false; - //BusSocket.Start(6000); + //BusSocket.Start(); new AppUnlockPage().LoadPage(); Console.WriteLine("WillEnterForeground"); UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; @@ -172,19 +269,24 @@ Console.WriteLine("OnActivated"); base.OnActivated(application); + if (haveToSignOut == true) + { + //寮哄埗涓嬬嚎 + //CommonPage.Instance.SingOut(); + HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices)); + } + } public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { //Shared.Application.FontSize = 12; - //Shared.Application.IsUsePingFang = true; + Shared.Application.IsUsePingFang = true; 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 +295,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(); - } + //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.IdleTimerDisabled = true; 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 +340,74 @@ Console.WriteLine("FinishedLaunching"); return true; } + + /// <summary> + /// 閫�鍑虹櫥褰曟爣璁� + /// </summary> + bool haveToSignOut; + /// <summary> + /// 澶勭悊閫氱煡 + /// </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) + { + NSString key_hiddenJson = new NSString("HiddenJson"); + if (userInfo.ContainsKey(key_hiddenJson)) + { + var hiddenJson = userInfo["HiddenJson"].ToString(); + if (!string.IsNullOrEmpty(hiddenJson)) + { + if (hiddenJson.Contains("cmtID")) + { + + ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹� + // VideoMethod(hiddenJson); + } + else + { + + NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary; + if (hiddenJsonDic != null) + { + NSString key_Offline = new NSString("Offline"); + if (hiddenJsonDic.ContainsKey(key_Offline)) + { + string signOut = hiddenJsonDic["Offline"].ToString(); + + if (signOut == "0") + { + //涓嶄笅绾� + } + else + { + //鏍囪涓嬬嚎 + haveToSignOut = true; + } + } + + } + } + } + + + } + + } + } + } + } + + + } } -- Gitblit v1.8.0