From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL-ON_Android/Application.cs | 107 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 89 insertions(+), 18 deletions(-) diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs index fd6bb1c..f676103 100644 --- a/HDL-ON_Android/Application.cs +++ b/HDL-ON_Android/Application.cs @@ -5,6 +5,7 @@ using Android.Content; using Android.Net; using Android.OS; +using CN.Jpush.Android.Api; using HDL_ON; using Java.Util; using Shared; @@ -48,7 +49,9 @@ string[] permissions = new string[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.RecordAudio, Manifest.Permission.Camera, Manifest.Permission.ProcessOutgoingCalls, Manifest.Permission.GetAccounts}; - + //绂佹灞忓箷闀夸寒 + BaseActivity.KeepScreenON = false; + //闅愯棌杩嫓铏氭嫙鎸夐敭 BaseActivity.IsHideVirualButtons = true; init(); BaseActivity.OnCreateActoin += (activity, application) => @@ -60,17 +63,19 @@ { Language.CurrentLanguage = "Chinese"; } + + //鑾峰彇鏋佸厜鎺ㄩ�両D + GetJPushRegistrationID(activity); BaseActivity.NetworkStateChanged += (int obj) => { - if (!IsEnterBackground) { - BusSocket.Stop(); + //BusSocket.Stop(); new System.Threading.Thread(() => { System.Threading.Thread.Sleep(1000); - BusSocket.Start(6000); + //BusSocket.Start(); }) { IsBackground = true }.Start(); } @@ -78,7 +83,7 @@ { Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�"); } - + MainPage.InternetStatus = obj; }; }; BaseActivity.RefreshUIAction += (activity) => @@ -89,36 +94,97 @@ BaseActivity.OnResumeAction += (activity) => { checkSomeInfo(); - new HDL_ON.UI.AppUnlockPage().LoadPage(); + }; BaseActivity.OnDestroyAction += (activity) => { Console.WriteLine("OnDestroyAction"); - BusSocket.Stop(); - OnAppConfig.Instance.unlockTime = DateTime.Now; + //BusSocket.Stop(); + //UserInfo.Current.unlockTime = DateTime.Now; }; + HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider"); //Shared.Application.IsGpsEnable = true; - Shared.Application.LocationAction = (arg1, arg2) => + //鑾峰彇缁忕含搴� + Shared.Application.LocationAction = (lon, lat) => { - Shared.Application.LocationAction = null; + try + { + Shared.Application.LocationAction = null; + Shared.Application.StopGPSLocationService(); + new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(lon.ToString(), lat.ToString()); + } + catch + { - new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(arg1.ToString(), arg2.ToString()); - - MainPage.Log($"缁忕含搴�:::{arg1}:{arg2}"); - + } + MainPage.Log($"缁忕含搴�:::{lon}:{lat}"); }; - + } + + /// <summary> + /// + /// </summary> + /// <param name="activity"></param> + void GetJPushRegistrationID(BaseActivity activity) + { + try + { + //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠� + var tokenID = JPushInterface.GetRegistrationID(activity); + Console.WriteLine("RegistrationID: " + tokenID); + if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID) + { + OnAppConfig.Instance.PushDeviceToken = tokenID; + OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer; + OnAppConfig.Instance.SaveConfig(); + } + int loadTokenCount = 0; + System.Threading.Tasks.Task.Run(() => + { + while (string.IsNullOrEmpty(tokenID)) + { + System.Threading.Thread.Sleep(1000); + tokenID = JPushInterface.GetRegistrationID(activity); + Console.WriteLine("Sleep.tokenID + " + JPushInterface.GetRegistrationID(activity)); + loadTokenCount++; + if (loadTokenCount > 30) + { + break; + } + } + Console.WriteLine("RegistrationID: " + tokenID); + if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID) + { + OnAppConfig.Instance.PushDeviceToken = tokenID; + OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer; + OnAppConfig.Instance.SaveConfig(); + } + }); + + } + catch + { + + } + } + public static bool IsShowTip = true; void init() { //鎵嬫満鍚嶇О Android.OS.Build.Manufacturer; + //OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer; +#if DEBUG + CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true); +#endif + CN.Jpush.Android.Api.JPushInterface.Init(this); + } void checkSomeInfo() { @@ -210,6 +276,8 @@ { Console.WriteLine("HHH OnActivityStarted锛歠oreground"); BusSocketStart(); + //鍚庡彴鍥炲埌鍓嶅彴 + new HDL_ON.UI.AppUnlockPage().LoadPage(); } } @@ -221,6 +289,9 @@ { Console.WriteLine("HHH OnActivityStopped锛� background"); BusSocketStop(); + //杩涘叆鍚庡彴 + UserInfo.Current.unlockTime = DateTime.Now; + } } @@ -244,8 +315,7 @@ void BusSocketStop() { IsEnterBackground = true; - BusSocket.Stop(); - OnAppConfig.Instance.unlockTime = DateTime.Now; + //BusSocket.Stop(); } @@ -256,7 +326,8 @@ { IsEnterBackground = false; - BusSocket.Start(6000); + //BusSocket.Start(); } } + } \ No newline at end of file -- Gitblit v1.8.0