| | |
| | | using Shared; |
| | | using UIKit; |
| | | using UserNotifications; |
| | | using Microsoft.AppCenter; |
| | | using Microsoft.AppCenter.Analytics; |
| | | using Microsoft.AppCenter.Crashes; |
| | | using HDL_ON.UI; |
| | | |
| | | namespace SharedMethod |
| | | { |
| | |
| | | |
| | | //public static string CheckVersion() |
| | | //{ |
| | | |
| | | // Harpy.Harpy.SharedInstance.CheckVersion(); |
| | | |
| | | // 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}"; |
| | | // } |
| | |
| | | // The UIApplicationDelegate for the application. This class is responsible for launching the |
| | | // User Interface of the application, as well as listening (and optionally responding) to application events from iOS. |
| | | [Register("AppDelegate")] |
| | | public class AppDelegate : BaseApplicationDelegate |
| | | public class AppDelegate : BaseApplicationDelegateForHdlOn// BaseApplicationDelegate |
| | | { |
| | | // class-level declarations |
| | | |
| | |
| | | // // If not required for your application you can safely delete this method |
| | | // return true; |
| | | //} |
| | | internal static UINavigationController rootViewController; |
| | | |
| | | public static void CleanApplicationIconBadgeNumber() |
| | | { |
| | |
| | | NSUserDefaults.StandardUserDefaults.SetString(DeviceToken, "PushDeviceToken"); |
| | | string userPhoneName = UIDevice.CurrentDevice.Name; |
| | | |
| | | UserConfig.Instance.tokenID = DeviceToken; |
| | | UserConfig.Instance.phoneName = userPhoneName; |
| | | UserConfig.Instance.SaveUserConfig(); |
| | | OnAppConfig.Instance.PushDeviceToken = DeviceToken; |
| | | OnAppConfig.Instance.PhoneName = userPhoneName; |
| | | OnAppConfig.Instance.SaveUserConfig(); |
| | | } |
| | | if (UserConfig.Instance.tokenID != DeviceToken) |
| | | if (OnAppConfig.Instance.PushDeviceToken != DeviceToken) |
| | | { |
| | | string userPhoneName = UIDevice.CurrentDevice.Name; |
| | | UserConfig.Instance.tokenID = DeviceToken; |
| | | UserConfig.Instance.phoneName = userPhoneName; |
| | | UserConfig.Instance.SaveUserConfig(); |
| | | OnAppConfig.Instance.PushDeviceToken = DeviceToken; |
| | | OnAppConfig.Instance.PhoneName = userPhoneName; |
| | | OnAppConfig.Instance.SaveUserConfig(); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | Console.WriteLine("DidReceiveRemoteNotification:" + application.ApplicationState.ToString()); |
| | | |
| | | UserConfig.Instance.SaveUserConfig(); |
| | | |
| | | //读取推送信息 |
| | | 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) |
| | |
| | | public override void OnResignActivation(UIApplication application) |
| | | { |
| | | Console.WriteLine("OnResignActivation"); |
| | | BusSocket.Stop(); |
| | | OnAppConfig.Instance.unlockTime = DateTime.Now; |
| | | //BusSocket.Stop(); |
| | | } |
| | | |
| | | public override void DidEnterBackground(UIApplication application) |
| | |
| | | Console.WriteLine("DidEnterBackground"); |
| | | } |
| | | |
| | | |
| | | public override void WillEnterForeground(UIApplication application) |
| | | { |
| | | SharedMethod.SharedMethod.IsBackground = false; |
| | | //BusSocket.Start(); |
| | | new AppUnlockPage().LoadPage(); |
| | | Console.WriteLine("WillEnterForeground"); |
| | | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | } |
| | |
| | | { |
| | | 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) |
| | | { |
| | | //AppCenter.Start("b95f7814-49fb-4345-bac5-98e70d098252", typeof(Analytics), typeof(Crashes)); |
| | | Console.WriteLine("FinishedLaunching"); |
| | | |
| | | //Shared.Application.FontSize = 12; |
| | | 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); |
| | | |
| | | SharedMethod.SharedMethod.sharedApp = application; |
| | | |
| | | //NSString* nsCount = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; |
| | | string nsCount = NSLocale.CurrentLocale.CountryCode; |
| | | if (nsCount != UserConfig.Instance.CountryCode) |
| | | { |
| | | UserConfig.Instance.CountryCode = nsCount; |
| | | UserConfig.Instance.SaveUserConfig(); |
| | | } |
| | | 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.IdleTimerDisabled = true; |
| | | application.RegisterForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound); |
| | | |
| | | Window = new UIWindow(UIScreen.MainScreen.Bounds); |
| | | var Root = new UINavigationController(new ViewController()) { NavigationBarHidden = true }; |
| | | Window.RootViewController = Root; |
| | | Window.MakeKeyAndVisible(); |
| | | //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); |
| | |
| | | { |
| | | //RemoteInfo.Current.ReadMsgList(true); |
| | | } |
| | | //if (UserConfig.Instance.SkinCode == 0) |
| | | //{ |
| | | // application.StatusBarStyle = UIStatusBarStyle.LightContent; |
| | | // Shared.Application.Skin = UserConfig.Instance.CurrentSkinName; |
| | | //} |
| | | //else if (UserConfig.Instance.SkinCode == 1) |
| | | //{ |
| | | application.StatusBarStyle = UIStatusBarStyle.Default; |
| | | //application.SetStatusBarStyle(UIStatusBarStyle.LightContent, false); |
| | | Console.WriteLine($"application.StatusBarStyle:{application.StatusBarStyle}"); |
| | | // Shared.Application.Skin = UserConfig.Instance.CurrentSkinName; |
| | | //} |
| | | //SkinStyle.Current.ChangeColor(); |
| | | |
| | | |
| | | //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; |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |