From e3ad42ffa2fa67c8f6cb4519ca626fa275c8947d Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 02 十二月 2020 16:34:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/CJL-NEW' --- HDL-ON_iOS/AppDelegate.cs | 215 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 187 insertions(+), 28 deletions(-) diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs index 4dfffc8..0709827 100644 --- a/HDL-ON_iOS/AppDelegate.cs +++ b/HDL-ON_iOS/AppDelegate.cs @@ -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) @@ -173,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); @@ -194,33 +295,23 @@ //NSString* nsCount = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; application.StatusBarStyle = UIStatusBarStyle.DarkContent; - string nsCount = NSLocale.CurrentLocale.CountryCode; + //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(); - } + //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); @@ -249,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