| | |
| | | using HDL_ON.UI; |
| | | using HDL_ON.DAL.Server; |
| | | using System.Threading.Tasks; |
| | | using UserNotifications; |
| | | using Other; |
| | | using AVFoundation; |
| | | |
| | | namespace SharedMethod |
| | | { |
| | |
| | | set; |
| | | } |
| | | |
| | | //public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) |
| | | //{ |
| | | // // Override point for customization after application launch. |
| | | // // If not required for your application you can safely delete this method |
| | | // return true; |
| | | //} |
| | | public static UINavigationController rootViewController; |
| | | |
| | | public static void CleanApplicationIconBadgeNumber() |
| | | { |
| | | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | } |
| | | //public static void CleanApplicationIconBadgeNumber() |
| | | //{ |
| | | // UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | //} |
| | | |
| | | [Export("application:shouldAllowExtensionPointIdentifier:")] |
| | | public override bool ShouldAllowExtensionPointIdentifier(UIApplication application, NSString extensionPointIdentifier) |
| | |
| | | |
| | | // Get previous device token |
| | | var oldDeviceToken = NSUserDefaults.StandardUserDefaults.StringForKey("PushDeviceToken"); |
| | | //new Alert("", DeviceToken, "取消", "确定").Show(); |
| | | |
| | | //NSDictionary test = new NSDictionary(new NSString("123"), new NSString("test")); |
| | | //NSError error; |
| | | //NSData dicD = NSJsonSerialization.Serialize(test, NSJsonWritingOptions.PrettyPrinted,out error); ; |
| | | //NSString str = new NSString(dicD,NSStringEncoding.UTF8); |
| | | |
| | | //new Alert("", str, "取消", "确定").Show(); |
| | | |
| | | // Has the token changed? |
| | | if (string.IsNullOrEmpty(oldDeviceToken) || !oldDeviceToken.Equals(DeviceToken)) |
| | |
| | | // Save new device token |
| | | NSUserDefaults.StandardUserDefaults.SetString(DeviceToken, "PushDeviceToken"); |
| | | |
| | | //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 (OnAppConfig.Instance.PushDeviceToken != DeviceToken) |
| | | { |
| | | //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(); |
| | |
| | | |
| | | public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler) |
| | | { |
| | | Console.WriteLine("DidReceiveRemoteNotification:" + application.ApplicationState.ToString()); |
| | | |
| | | Console.WriteLine("推送消息:"+userInfo); |
| | | //var test = new NSDictionary(); |
| | | //test.SetNilValueForKey(new NSString("test")); |
| | | //NSError error; |
| | | //NSData dicD = NSJsonSerialization.Serialize(userInfo, NSJsonWritingOptions.PrettyPrinted, out error); ; |
| | | //NSString str = new NSString(dicD, NSStringEncoding.UTF8); |
| | | //new Alert("", str, "取消", "确定").Show(); |
| | | |
| | | //读取推送信息 |
| | | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | |
| | | if (userInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | Console.WriteLine(userInfo); |
| | | //HDLCommon.Current.ShowAlert("DidReceiveRemoteNotification:" + userInfo.ToString()); |
| | | |
| | | |
| | | if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) |
| | | { |
| | | |
| | | HandleNotificationMessageUserInfo(userInfo, false); |
| | | } |
| | | else |
| | | //if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background) |
| | | //{ |
| | | // HandleNotificationMessageUserInfo(userInfo, false); |
| | | //} |
| | | //else |
| | | { |
| | | //Inactive |
| | | HandleNotificationMessageUserInfo(userInfo, false); |
| | |
| | | { |
| | | Console.WriteLine("ReceivedRemoteNotification3"); |
| | | } |
| | | |
| | | //string extKey1 = "PushResType"; |
| | | //NSString extValue1 = userInfo.ValueForKey ((NSString)extKey1); |
| | | |
| | | } |
| | | |
| | | public override void OnResignActivation(UIApplication application) |
| | |
| | | // Shared.IOS.HDLFVSDK.Video.FVapplicationWillResignActive(application); |
| | | //} |
| | | Console.WriteLine("OnResignActivation"); |
| | | UserInfo.Current.unlockTime = DateTime.Now; |
| | | //UserInfo.Current.unlockTime = DateTime.Now; |
| | | } |
| | | |
| | | public override void DidEnterBackground(UIApplication application) |
| | |
| | | AppDomain.CurrentDomain.UnhandledException += (sender, e) => { |
| | | if(e.ExceptionObject is Exception exception) |
| | | { |
| | | Console.WriteLine("未处理的异常:" + exception.Message); |
| | | MainPage.Log("error","未处理的异常:" + exception.Message); |
| | | } |
| | | }; |
| | | |
| | | TaskScheduler.UnobservedTaskException += (sender, e) => { |
| | | if (e.Exception is Exception exception) |
| | | { |
| | | Console.WriteLine("未处理的异常:" + exception.Message); |
| | | MainPage.Log("error", "未处理的异常:" + exception.Message); |
| | | } |
| | | }; |
| | | #endregion |
| | |
| | | // check for a notification |
| | | DealWithPushMes(launchOptions); |
| | | |
| | | //if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) |
| | | //{ |
| | | // //RemoteInfo.Current.ReadMsgList(true); |
| | | //} |
| | | try |
| | | { |
| | | UMSdk.HDLUMSDK.InitUMSDKWithAppKey("61d56642e0f9bb492bbc3e72", "IOS"); |
| | |
| | | { |
| | | Console.WriteLine("启动友盟SDK异常:"+ex.Message); |
| | | } |
| | | |
| | | // 注册进入前台的通知 |
| | | NSNotificationCenter.DefaultCenter.AddObserver(UIApplication.WillEnterForegroundNotification, (notification) => |
| | | { |
| | | // 停止播放铃声 |
| | | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | UNUserNotificationCenter.Current.RemoveAllDeliveredNotifications(); |
| | | }); |
| | | |
| | | Console.WriteLine("FinishedLaunching"); |
| | | return true; |
| | |
| | | Utlis.WriteLine("PushMes title : " + pushMes.Title); |
| | | Utlis.WriteLine("PushMes message : " + pushMes.Content); |
| | | Utlis.WriteLine("PushMes extras : " + pushMes.Extras); |
| | | if (!string.IsNullOrEmpty(pushMes.spk))//自研可视对讲需要记录时间反呼 |
| | | { |
| | | UserInfo.Current.pushMessageInfo = pushMes; |
| | | UserInfo.Current.inCall = DateTime.Now; |
| | | } |
| | | |
| | | if (bFinishedLaunching) |
| | | { |
| | |
| | | HDL_ON.DAL.Mqtt.MqttClient.InitState(); |
| | | |
| | | |
| | | new AppUnlockPage().LoadPage(); |
| | | //new AppUnlockPage().LoadPage(); |
| | | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway(); |
| | | } |