From 8d825766e377363597753ab27a0d381e41732e58 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 26 三月 2021 10:48:04 +0800
Subject: [PATCH] 新风
---
HDL-ON_iOS/AppDelegate.cs | 324 +++++++++++++++++++++++++++++------------------------
1 files changed, 175 insertions(+), 149 deletions(-)
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 3728f8d..0efe330 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -8,6 +8,7 @@
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
using HDL_ON.UI;
+using HDL_ON.DAL.Server;
namespace SharedMethod
{
@@ -15,7 +16,7 @@
{
public static UIApplication sharedApp;
public static PageLayout CurPageLayout = null;
- public static bool IsBackground;
+ //public static bool IsBackground;
//public static string CheckVersion()
//{
@@ -34,6 +35,7 @@
//}
}
+
}
namespace HDL_ON_iOS
@@ -97,18 +99,23 @@
// Save new device token
NSUserDefaults.StandardUserDefaults.SetString(DeviceToken, "PushDeviceToken");
- string userPhoneName = UIDevice.CurrentDevice.Name;
- UserInfo.Current.PushDeviceToken = DeviceToken;
- UserInfo.Current.PhoneName = userPhoneName;
- UserInfo.Current.SaveUserInfo();
+ //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 (UserInfo.Current.PushDeviceToken != DeviceToken)
+ if (OnAppConfig.Instance.PushDeviceToken != DeviceToken)
{
- string userPhoneName = UIDevice.CurrentDevice.Name;
- UserInfo.Current.PushDeviceToken = DeviceToken;
- UserInfo.Current.PhoneName = userPhoneName;
- UserInfo.Current.SaveUserInfo();
+ //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();
}
}
@@ -128,89 +135,13 @@
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));
- }
- }
- }
- }
+ HandleNotificationMessageUserInfo(userInfo, false);
}
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;
- }
- }
- }
- }
+ //Inactive
+ HandleNotificationMessageUserInfo(userInfo, false);
}
completionHandler(UIBackgroundFetchResult.NewData);
@@ -239,24 +170,27 @@
public override void OnResignActivation(UIApplication application)
{
Console.WriteLine("OnResignActivation");
- OnAppConfig.Instance.unlockTime = DateTime.Now;
- //BusSocket.Stop();
+ UserInfo.Current.unlockTime = DateTime.Now;
}
public override void DidEnterBackground(UIApplication application)
{
- SharedMethod.SharedMethod.IsBackground = true;
+ //SharedMethod.SharedMethod.IsBackground = true;
+ //MainPage.IsEnterBackground = true;
+ ////杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
+ //HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false;
+ //HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
+ //杩涘叆鍚庡彴
+ BusSocketStop();
Console.WriteLine("DidEnterBackground");
}
public override void WillEnterForeground(UIApplication application)
{
- SharedMethod.SharedMethod.IsBackground = false;
- //BusSocket.Start();
- new AppUnlockPage().LoadPage();
+ //鍥炲埌鍓嶅彴锛屽鐞嗕簨浠�
+ BusSocketStart();
Console.WriteLine("WillEnterForeground");
- UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
}
public override void WillTerminate(UIApplication application)
@@ -268,27 +202,38 @@
{
Console.WriteLine("OnActivated");
base.OnActivated(application);
+ //HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
- if (haveToSignOut == true)
- {
- //寮哄埗涓嬬嚎
- //CommonPage.Instance.SingOut();
- HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
- }
+ //if (haveToSignOut == true)
+ //{
+ ////寮哄埗涓嬬嚎
+ //UserInfo.Current.LastTime = DateTime.MinValue;
+ //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+ //UserInfo.Current.SaveUserInfo();
+ //HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
+ //}
}
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
-
//Shared.Application.FontSize = 12;
+ //Bugly.Bugly.StartWithAppId("b58fb35436");
+
+ //鍙栨秷EditText榛樿瀵嗙爜杈撳叆鏂瑰紡
+ //Shared.Application.IsEditTextContentTypePassword = false;
+ //榛樿浣跨敤鑻规柟瀛椾綋
Shared.Application.IsUsePingFang = true;
+ //淇濇寔灞忓箷甯镐寒鎴栬�呰嚜鍔ㄩ攣灞�
+ application.IdleTimerDisabled = false;
+
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));
+ AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e", typeof(Analytics), typeof(Crashes));
+
base.FinishedLaunching(application, launchOptions);
SharedMethod.SharedMethod.sharedApp = application;
@@ -305,7 +250,7 @@
// OnAppConfig.Instance.SaveUserConfig();
//}
- application.IdleTimerDisabled = true;
+
application.RegisterForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound);
//window.AccessibilityNavigationStyle = UIAccessibilityNavigationStyle.Automatic;
@@ -337,77 +282,158 @@
//Harpy.Harpy.SharedInstance.AlertType = Harpy.HarpyAlertType.Skip;
//Harpy.Harpy.SharedInstance.DebugEnabled = false;
//Harpy.Harpy.SharedInstance.ForceLanguageLocalization = Harpy.Constants.HarpyLanguageChineseSimplified;
+
+ //涓枃鍥藉唴key銆佽嫳鏂囨捣澶杒ey
+ EZSDK.IOS.EZSDK.InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
+
+
Console.WriteLine("FinishedLaunching");
return true;
}
/// <summary>
- /// 閫�鍑虹櫥褰曟爣璁�
+ /// 澶勭悊閫氱煡娑堟伅
/// </summary>
- bool haveToSignOut;
+ void HandleNotificationMessageUserInfo(NSDictionary userInfo, bool bFinishedLaunching)
+ {
+ try
+ {
+ if (userInfo.ContainsKey(new NSString("aps")))
+ {
+ var aps = userInfo["aps"] as NSDictionary;
+ var alert = aps["alert"] as NSDictionary;
+ var body = alert["body"] as NSString;
+ var title = alert["title"] as NSString;
+ var expandData = "";
+ var messageType = "";
+ if (userInfo.ContainsKey(new NSString("expandData")))
+ {
+ var expandDataStr = userInfo["expandData"] as NSString;
+ if(expandDataStr == null)
+ {
+ var expandDataNSD = userInfo["expandData"] as NSDictionary;
+ if (expandDataNSD != null)
+ {
+ expandData = expandDataNSD.ToString();
+ if(expandDataNSD.ContainsKey(new NSString("messageType"))){
+ messageType = expandDataNSD["messageType"] as NSString;
+ Utlis.WriteLine("messageType: "+ messageType);
+ }
+
+ }
+ }
+ else
+ {
+ expandData = expandDataStr;
+ }
+
+ }
+ var pushMes = new JPushMessageInfo()
+ {
+ Title = title,
+ Content = body,
+ Extras = expandData,
+ messageType = messageType
+ };
+ Utlis.WriteLine("PushMes title : " + pushMes.Title);
+ Utlis.WriteLine("PushMes message : " + pushMes.Content);
+ Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
+
+ if (bFinishedLaunching)
+ {
+ if (pushMes.Extras != null && pushMes.Extras.Contains("OffLine"))
+ {
+ //haveToSignOut = true;
+ //寮哄埗涓嬬嚎
+ UserInfo.Current.LastTime = DateTime.MinValue;
+ UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+ UserInfo.Current.SaveUserInfo();
+ HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
+ }
+ }
+ else
+ {
+ HDLCommon.Current.AdjustPushMessage(pushMes);
+ }
+
+ }
+ }
+ catch
+ {
+
+ }
+ }
+
+ ///// <summary>
+ ///// 閫�鍑虹櫥褰曟爣璁�
+ ///// </summary>
+ //bool haveToSignOut;
/// <summary>
- /// 澶勭悊閫氱煡
+ /// 鍚姩APP 澶勭悊閫氱煡
/// </summary>
/// <param name="launchOptions"></param>
void DealWithPushMes(NSDictionary launchOptions)
{
- haveToSignOut = false;
+ //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;
- }
- }
-
- }
- }
- }
-
-
- }
+ HandleNotificationMessageUserInfo(userInfo, true);
}
}
}
}
+ /// <summary>
+ /// 杩涘叆鍚庡彴鐨勬椂闂�
+ /// </summary>
+ DateTime CloseTime = DateTime.Now;
+ /// <summary>
+ /// 杩涘叆鍚庡彴澶勭悊鏃堕棿
+ /// BusSocketStop
+ /// </summary>
+ void BusSocketStop()
+ {
+ //SharedMethod.SharedMethod.IsBackground = true;
+ CloseTime = DateTime.Now;
+ MainPage.IsEnterBackground = true;
+ //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
+ HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false;
+ HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
+
+ }
+
+
+ /// <summary>
+ /// 鍥炲埌鍓嶅彴锛屽鐞嗕簨浠�
+ /// </summary>
+ void BusSocketStart()
+ {
+ if (CloseTime.AddSeconds(10) < DateTime.Now)
+ {
+ //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛
+ //if (HDL_ON.DriverLayer.Control.Ins.IsRemote)
+ {
+ HDL_ON.DAL.Mqtt.MqttClient.DisConnectRemote("closeTime", false);
+ }
+ }
+
+ MainPage.IsEnterBackground = false;
+ HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
+ new AppUnlockPage().LoadPage();
+ UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
+ HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
+ }
}
+
}
--
Gitblit v1.8.0