From 673a93f4ed742a10a879a67b616e6646b03ef0fb Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 15 九月 2020 17:14:27 +0800 Subject: [PATCH] 202009151 --- HDL-ON_Android/Application.cs | 130 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 115 insertions(+), 15 deletions(-) diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs index 52ae5fa..fd6bb1c 100644 --- a/HDL-ON_Android/Application.cs +++ b/HDL-ON_Android/Application.cs @@ -1,6 +1,7 @@ 锘縰sing System; using System.Net; using Android; +using Android.App; using Android.Content; using Android.Net; using Android.OS; @@ -14,7 +15,7 @@ /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application /// </summary> [Android.App.Application] - public class Application : Android.App.Application + public class Application : Android.App.Application, Android.App.Application.IActivityLifecycleCallbacks { static void reStartApp(Android.App.Application application) { @@ -34,16 +35,17 @@ } base.OnCreate(); + RegisterActivityLifecycleCallbacks(this); initAll(); - + } /// <summary> /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜� /// </summary> void initAll() { - + string[] permissions = new string[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.RecordAudio, Manifest.Permission.Camera, Manifest.Permission.ProcessOutgoingCalls, Manifest.Permission.GetAccounts}; @@ -61,33 +63,48 @@ BaseActivity.NetworkStateChanged += (int obj) => { - BusSocket.Stop(); - new System.Threading.Thread(() => { - System.Threading.Thread.Sleep(1000); - BusSocket.Start(6000); - }) - { IsBackground = true }.Start(); - }; + if (!IsEnterBackground) + { + BusSocket.Stop(); + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(1000); + BusSocket.Start(6000); + }) + { IsBackground = true }.Start(); + } + else + { + Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�"); + } + + }; }; - BaseActivity.RefreshUIAction += (activity) => { + BaseActivity.RefreshUIAction += (activity) => + { MainPage.Show(); checkSomeInfo(); }; - BaseActivity.OnResumeAction += (activity) => { + BaseActivity.OnResumeAction += (activity) => + { checkSomeInfo(); new HDL_ON.UI.AppUnlockPage().LoadPage(); }; - BaseActivity.OnDestroyAction += (activity) => { + BaseActivity.OnDestroyAction += (activity) => + { Console.WriteLine("OnDestroyAction"); BusSocket.Stop(); + OnAppConfig.Instance.unlockTime = DateTime.Now; }; + HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider"); //Shared.Application.IsGpsEnable = true; - Shared.Application.LocationAction = (arg1, arg2) => { + Shared.Application.LocationAction = (arg1, arg2) => + { Shared.Application.LocationAction = null; new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(arg1.ToString(), arg2.ToString()); @@ -158,5 +175,88 @@ } return false; } + + public void OnActivityCreated(Activity activity, Bundle savedInstanceState) + { + + } + + public void OnActivityDestroyed(Activity activity) + { + //throw new NotImplementedException (); + } + + public void OnActivityPaused(Activity activity) + { + //throw new NotImplementedException (); + } + + public void OnActivityResumed(Activity activity) + { + //throw new NotImplementedException (); + } + + public void OnActivitySaveInstanceState(Activity activity, Bundle outState) + { + //throw new NotImplementedException (); + } + + public void OnActivityStarted(Activity activity) + { + //throw new NotImplementedException (); + + mCount++; + if (mCount == 1) + { + Console.WriteLine("HHH OnActivityStarted锛歠oreground"); + BusSocketStart(); + } + } + + public void OnActivityStopped(Activity activity) + { + + mCount--; + if (mCount == 0) + { + Console.WriteLine("HHH OnActivityStopped锛� background"); + BusSocketStop(); + } + } + + + public override void OnTerminate() + { + base.OnTerminate(); + UnregisterActivityLifecycleCallbacks(this); + } + + int mCount; + + /// <summary> + /// 鏄惁杩涘叆鍚庡彴 + /// </summary> + public bool IsEnterBackground = false; + + /// <summary> + /// BusSocketStop + /// </summary> + void BusSocketStop() + { + IsEnterBackground = true; + BusSocket.Stop(); + OnAppConfig.Instance.unlockTime = DateTime.Now; + } + + + /// <summary> + /// BusSocketStart + /// </summary> + void BusSocketStart() + { + IsEnterBackground = false; + + BusSocket.Start(6000); + } } -} +} \ No newline at end of file -- Gitblit v1.8.0