From ea4b1f379fa052b1e044e1d67e85a8500cbd86ff Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 02 八月 2024 17:01:15 +0800
Subject: [PATCH] 可视对讲铃声功能

---
 HDL-ON_iOS/AppDelegate.cs |   88 ++++++++++++--------------------------------
 1 files changed, 24 insertions(+), 64 deletions(-)

diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 003de6d..29f5d9e 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -6,6 +6,9 @@
 using HDL_ON.UI;
 using HDL_ON.DAL.Server;
 using System.Threading.Tasks;
+using UserNotifications;
+using Other;
+using AVFoundation;
 
 namespace SharedMethod
 {
@@ -50,18 +53,12 @@
             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)
@@ -99,14 +96,7 @@
 
             // 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))
@@ -116,19 +106,12 @@
                 // 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();
@@ -137,34 +120,16 @@
 
         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);
@@ -187,10 +152,6 @@
             {
                 Console.WriteLine("ReceivedRemoteNotification3");
             }
-
-            //string extKey1 = "PushResType"; 
-            //NSString extValue1 = userInfo.ValueForKey ((NSString)extKey1);
-
         }
 
         public override void OnResignActivation(UIApplication application)
@@ -203,7 +164,7 @@
             //    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)
@@ -310,14 +271,14 @@
             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
@@ -354,10 +315,6 @@
             // check for a notification
             DealWithPushMes(launchOptions);
 
-            //if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0)
-            //{
-            //    //RemoteInfo.Current.ReadMsgList(true);
-            //}
             try
             {
                 UMSdk.HDLUMSDK.InitUMSDKWithAppKey("61d56642e0f9bb492bbc3e72", "IOS");
@@ -366,6 +323,14 @@
             {
                 Console.WriteLine("鍚姩鍙嬬洘SDK寮傚父锛�"+ex.Message);
             }
+
+            // 娉ㄥ唽杩涘叆鍓嶅彴鐨勯�氱煡
+            NSNotificationCenter.DefaultCenter.AddObserver(UIApplication.WillEnterForegroundNotification, (notification) =>
+            {
+                // 鍋滄鎾斁閾冨0
+                UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
+                UNUserNotificationCenter.Current.RemoveAllDeliveredNotifications();
+            });
 
             Console.WriteLine("FinishedLaunching");
             return true;
@@ -438,11 +403,6 @@
                     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)
                     {
@@ -546,7 +506,7 @@
             HDL_ON.DAL.Mqtt.MqttClient.InitState();
 
 
-            new AppUnlockPage().LoadPage();
+            //new AppUnlockPage().LoadPage();
             UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
             HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
         }

--
Gitblit v1.8.0