From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL-ON_Android/Application.cs | 219 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 182 insertions(+), 37 deletions(-) diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs index fd6bb1c..3d29968 100644 --- a/HDL-ON_Android/Application.cs +++ b/HDL-ON_Android/Application.cs @@ -1,12 +1,19 @@ 锘縰sing System; using System.Net; +using System.Threading.Tasks; using Android; using Android.App; using Android.Content; using Android.Net; using Android.OS; +using Android.Runtime; +using Android.Widget; +using CN.Jpush.Android.Api; using HDL_ON; using Java.Util; +using Microsoft.AppCenter; +using Microsoft.AppCenter.Analytics; +using Microsoft.AppCenter.Crashes; using Shared; namespace HDL_ON_Android @@ -28,6 +35,8 @@ public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { } public override void OnCreate() { + //娉ㄥ唽鏈鐞嗗紓甯镐簨浠� + AppCenter.Start("64ac5859-2cd7-4ef8-a5da-5455e29679ec", typeof(Analytics), typeof(Crashes)); if (Shared.Application.Activity != null) { reStartApp(this); @@ -40,6 +49,9 @@ initAll(); } + + + /// <summary> /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜� /// </summary> @@ -48,8 +60,36 @@ 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; + //瀹炵幇瀹夊崜杩斿洖鎸夐敭 + BaseActivity.BackKeyAction = () => + { + try + { + var result = MainPage.LoadEvent_BackAction(); + switch (result) + { + case 0: + break; + case 1: + case 2: + BaseActivity.VerifyDateTime = DateTime.MaxValue; + break; + default: + BaseActivity.VerifyDateTime = DateTime.MaxValue; + break; + } + } + catch (Exception ex) + { + MainPage.Log(ex.Message); + BaseActivity.VerifyDateTime = DateTime.MaxValue; + } + }; + init(); BaseActivity.OnCreateActoin += (activity, application) => { @@ -60,26 +100,36 @@ { Language.CurrentLanguage = "Chinese"; } - - BaseActivity.NetworkStateChanged += (int obj) => + else { + Language.CurrentLanguage = "English"; + } + //鑾峰彇鏋佸厜鎺ㄩ�両D + GetJPushRegistrationID(activity); - if (!IsEnterBackground) - { - BusSocket.Stop(); - new System.Threading.Thread(() => - { - System.Threading.Thread.Sleep(1000); - BusSocket.Start(6000); - }) - { IsBackground = true }.Start(); - } - else - { - Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�"); - } + BaseActivity.NetworkStateChanged += (int internetStatus) => + { + //if (!IsEnterBackground) + //{ + // ////BusSocket.Stop(); + // //new System.Threading.Thread(() => + // //{ + // // System.Threading.Thread.Sleep(1000); + // // //BusSocket.Start(); + // //}) + // //{ IsBackground = true }.Start(); + //} + //else + //{ + // Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�"); + //} + + //缃戠粶鍙樺寲澶勭悊 + HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground); }; + //寮�鍚畾浣嶆湇鍔� + Shared.Application.StartGPSLocationService(); }; BaseActivity.RefreshUIAction += (activity) => { @@ -89,36 +139,100 @@ 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; - - new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(arg1.ToString(), arg2.ToString()); - - MainPage.Log($"缁忕含搴�:::{arg1}:{arg2}"); - + try + { + Shared.Application.LocationAction = null; + new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(lon.ToString(), lat.ToString()); + //鍏抽棴瀹氫綅鏈嶅姟 + Shared.Application.StopGPSLocationService(); + } + catch (Exception ex) + { + Utlis.WriteLine("GetCityInfo catch" + ex.Message); + } + 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 +324,8 @@ { Console.WriteLine("HHH OnActivityStarted锛歠oreground"); BusSocketStart(); + //鍚庡彴鍥炲埌鍓嶅彴 + new HDL_ON.UI.AppUnlockPage().LoadPage(); } } @@ -221,6 +337,9 @@ { Console.WriteLine("HHH OnActivityStopped锛� background"); BusSocketStop(); + //杩涘叆鍚庡彴 + UserInfo.Current.unlockTime = DateTime.Now; + } } @@ -233,30 +352,56 @@ int mCount; + ///// <summary> + ///// 鏄惁杩涘叆鍚庡彴 + ///// </summary> + //public bool IsEnterBackground = false; + /// <summary> - /// 鏄惁杩涘叆鍚庡彴 + /// 杩涘叆鍚庡彴鐨勬椂闂� /// </summary> - public bool IsEnterBackground = false; + DateTime CloseTime = DateTime.Now; /// <summary> /// BusSocketStop /// </summary> void BusSocketStop() { - IsEnterBackground = true; - BusSocket.Stop(); - OnAppConfig.Instance.unlockTime = DateTime.Now; - } + //IsEnterBackground = true; + CloseTime = DateTime.Now; + MainPage.IsEnterBackground = true; + //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵�� + HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false; + HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop(); + } /// <summary> /// BusSocketStart /// </summary> void BusSocketStart() { - IsEnterBackground = false; + //IsEnterBackground = false; - BusSocket.Start(6000); + 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(); + HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway(); } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } -} \ No newline at end of file + +} -- Gitblit v1.8.0