From 5a5a2b696866f947b6025d26c3302e8ffef46435 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 11 一月 2021 16:11:20 +0800 Subject: [PATCH] 2021-01-11 1.更新MQTT连接和本地搜索网关方法。2.子账号相关接口完善 --- Crabtree/ON/Application.cs | 288 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 209 insertions(+), 79 deletions(-) diff --git a/Crabtree/ON/Application.cs b/Crabtree/ON/Application.cs index 55751a6..0e4c578 100644 --- a/Crabtree/ON/Application.cs +++ b/Crabtree/ON/Application.cs @@ -1,13 +1,10 @@ 锘縰sing System; -using Android; +using Android.App; using Android.Content; -using Android.Net; using Android.OS; -using CN.Jpush.Android.Api; -using CN.Jpush.Android.Service; -using Java.Lang; -using Java.Util; -using Java.Util.Zip; +//using CN.Jpush.Android.Api; +//using CN.Jpush.Android.Service; + using Shared; using Shared.SimpleControl; using SmartHome; @@ -40,14 +37,31 @@ /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑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) + { + var intent = new Intent (application, typeof (BaseActivity)); + intent.AddFlags (ActivityFlags.NewTask); + application.StartActivity (intent); + Android.OS.Process.KillProcess (Android.OS.Process.MyPid ()); + } + public Application (IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base (handle, ownerShip) { } public override void OnCreate () { - initAll (); + if (Shared.Application.Activity != null) { + reStartApp (this); + return; + } + + RegisterActivityLifecycleCallbacks (this); + + //Shared.Application.IsGpsEnable = false; base.OnCreate (); + + initAll (); } /// <summary> @@ -61,10 +75,9 @@ //BaseActivity.KeepScreenON = false; - BaseActivity.BackKeyAction = () => { if (Shared.SimpleControl.MainPage.Loading != null) { - Console.WriteLine (MainPage.Loading.CurStatus); + Utlis.WriteLine (MainPage.Loading.CurStatus); if (Shared.SimpleControl.MainPage.Loading.CurStatus) { Shared.SimpleControl.MainPage.Loading.Hide (); return; @@ -73,7 +86,7 @@ //if(BaseActivity.VerifyDateTime == DateTime.MaxValue) { } else try { var lastView = Shared.Application.MainPage.GetChildren (Shared.Application.MainPage.ChildrenCount - 1); - Console.WriteLine ("lastView " + lastView); + Utlis.WriteLine ("lastView " + lastView); if (MainPage.Loading.CurStatus) { return; } @@ -82,48 +95,57 @@ BaseActivity.VerifyDateTime = DateTime.MaxValue; return; } else { - Console.WriteLine ("Remove Dialog!!!!"); + Utlis.WriteLine ("Remove Dialog!!!!"); var lastView2 = Shared.Application.MainPage.GetChildren (Shared.Application.MainPage.ChildrenCount - 2); lastView.RemoveFromParent (); lastView2.RemoveFromParent (); - Console.WriteLine ("Remove Dialog End!!!!"); + Utlis.WriteLine ("Remove Dialog End!!!!"); BaseActivity.VerifyDateTime = DateTime.MinValue; return; } } } catch (System.Exception ezx) { - Console.WriteLine (ezx.Message); + Utlis.WriteLine (ezx.Message); } if (SharedMethod.SharedMethod.CurPageLayout != null) { if (SharedMethod.SharedMethod.CurPageLayout.ChildrenCount > 1) { - Console.WriteLine ("Remove PageLayout Children!!!!"); + Utlis.WriteLine ("Remove PageLayout Children!!!!"); SharedMethod.SharedMethod.CurPageLayout.GetChildren (SharedMethod.SharedMethod.CurPageLayout.ChildrenCount - 1).RemoveFromParent (); - Console.WriteLine ("Remove PageLayout Children End!!!!"); + Utlis.WriteLine ("Remove PageLayout Children End!!!!"); BaseActivity.VerifyDateTime = DateTime.MinValue; } else { - Console.WriteLine ("BaseActivity.VerifyDateTime = DateTime.MaxValue"); + Utlis.WriteLine ("BaseActivity.VerifyDateTime = DateTime.MaxValue"); BaseActivity.VerifyDateTime = DateTime.MaxValue; } } }; Shared.Application.FontSize = 16; - BaseActivity.IsHideVirualButtons = false; + BaseActivity.IsHideVirualButtons = true; ZXing.Mobile.MobileBarcodeScanner.Initialize (this); init (); BaseActivity.OnCreateActoin += (activity, application) => { Microsoft.AppCenter.AppCenter.Start ("d0f0f0c5-88af-494b-93af-9a667801b7a3", typeof (Microsoft.AppCenter.Analytics.Analytics), typeof (Microsoft.AppCenter.Crashes.Crashes)); - //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠� - var tokenID = JPushInterface.GetRegistrationID (activity); - if (!string.IsNullOrEmpty (tokenID) && UserConfig.Instance.tokenID != tokenID) { - UserConfig.Instance.tokenID = tokenID; - UserConfig.Instance.SaveUserConfig (); - } + ////淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠� + //var tokenID = JPushInterface.GetRegistrationID (activity); + //if (!string.IsNullOrEmpty (tokenID) && UserConfig.Instance.tokenID != tokenID) { + // UserConfig.Instance.tokenID = tokenID; + // UserConfig.Instance.SaveUserConfig (); + //} BaseActivity.NetworkStateChanged += (int obj) => { - Console.WriteLine ("NetworkStateChanged " + obj); + Utlis.WriteLine ("NetworkStateChanged " + obj); UserConfig.Instance.internetStatus = obj; UserConfig.Instance.SaveUserConfig (); - EquipmentPublicClass.CheckLinkRemote (obj); + ////缃戠粶鍙樺寲閫氱煡 + //EquipmentPublicClass.CheckLinkRemote (obj, false); + + //2020-06-10 鍚屾HDLON 淇敼浼樺寲 + if (!IsEnterBackground) { + //缃戠粶鍙樺寲閫氱煡 + EquipmentPublicClass.CheckLinkRemote (obj, false); + } else { + Console.WriteLine ("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�"); + } }; }; BaseActivity.RefreshUIAction += (activity) => { @@ -144,77 +166,185 @@ BaseActivity.OnDestroyAction += (activity) => { BusSocket.Stop (); }; + HDLUtils.SetAuthoritiesName ("com.hdl.crabtreenew.fileProvider"); } + public static bool IsShowTip = true; + void init () { Shared.Application.Skin = UserConfig.Instance.CurrentSkinName; SkinStyle.Current.ChangeColor (); UserConfig.Instance.phoneName = Android.OS.Build.Manufacturer; - //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅 - JPushInterface.SetDebugMode (false); - JPushInterface.Init (this);//淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠� + ////璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅 + //JPushInterface.SetDebugMode (false); + //JPushInterface.Init (this);//淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠� + //鑾峰彇缁忕含搴� - Shared.Application.LocationAction = (arg1, arg2) => { - Shared.Application.LocationAction = null; - System.Threading.Tasks.Task.Run (() => { - while (true) { - try { - Shared.SimpleControl.CommonPage.AirQuality = new service.hdlcontrol.com_WebServiceAirQuality.WebServiceAirQuality ().GetAirQuality (arg2.ToString (), arg1.ToString ()); - if (Shared.SimpleControl.CommonPage.AirQuality != null) - break; - } catch { } - } - Shared.Application.RunOnMainThread (() => { - if (CommonPage.RefreshAir != null) - CommonPage.RefreshAir (); - }); - }); + Shared.Application.LocationAction = (lon, lat) => { + try { + Shared.Application.LocationAction = null; + HttpServerRequest.Current.GetCityInfo (lon.ToString (), lat.ToString ()); + //鍏抽棴瀹氫綅鏈嶅姟 + Shared.Application.StopGPSLocationService (); + } catch (System.Exception ex) { + Utlis.WriteLine ("GetCityInfo catch" + ex.Message); + } + Utlis.WriteLine ($"缁忕含搴�:::{lon}:{lat}"); }; + } + void checkSomeInfo () { - RemoteInfo.Current.ReadMsgList (UserConfig.Instance.tokenID, IsShowTip); - JPushInterface.ClearAllNotifications (this); + //RemoteInfo.Current.ReadMsgList (UserConfig.Instance.tokenID, IsShowTip); + //JPushInterface.ClearAllNotifications (this); IsShowTip = true; - var status = isNetworkAvailable (this); - Console.WriteLine ("status!!!" + status); + //var status = isNetworkAvailable (this); + //Utlis.WriteLine ("status!!!" + status); + //int internetStatus = 0; + //if (status) { + // var isWifi = isWifiConnected (this); + // if (isWifi) { + // internetStatus = 2; + // } else { + // internetStatus = 1; + // } + //} + //Utlis.WriteLine (""); + + //2020-06-10 淇敼缃戠粶鍒ゆ柇鍑洪敊闂 int internetStatus = 0; - if (status) { - var isWifi = isWifiConnected (this); - if (isWifi) { - internetStatus = 2; - } else { - internetStatus = 1; + internetStatus = NetworkUtils.CheckConnectedMode (); + Console.WriteLine ("internetStatus锛�" + internetStatus); + + Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote (internetStatus, false); + } + + //bool isNetworkAvailable (Context context) + //{ + // var cm = (ConnectivityManager)context.GetSystemService (ConnectivityService); + // if (cm == null || cm.ActiveNetworkInfo == null) { + // return false; + // } else { + // return cm.ActiveNetworkInfo.IsAvailable; + // } + //} + + //bool isWifiConnected (Context context) + //{ + // if (context != null) { + // var mConnectivityManager = (ConnectivityManager)context.GetSystemService + // (ConnectivityService); + // var mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo (ConnectivityType.Wifi); + // if (mWiFiNetworkInfo != null) { + // return mWiFiNetworkInfo.IsAvailable; + // } + // } + // 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; + + DateTime closeTime = DateTime.MinValue; + + /// <summary> + /// BusSocketStop + /// </summary> + void BusSocketStop () + { + IsEnterBackground = true; + //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵�� + MqttCommon.remoteMqttIsConnecting = false; + Shared.BusSocket.Stop (); + closeTime = DateTime.Now; + } + + + /// <summary> + /// BusSocketStart + /// </summary> + void BusSocketStart () + { + IsEnterBackground = false; + + if (closeTime == DateTime.MinValue) { + closeTime = DateTime.Now; + } else if (closeTime.AddSeconds (20) < DateTime.Now) { + if (CommonPage.IsRemote) { + SmartHome.MqttCommon.DisConnectRemoteMqttClient ("closeTime"); } } - Console.WriteLine (""); - Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote (internetStatus); + + Shared.BusSocket.Start (6000); } - bool isNetworkAvailable (Context context) - { - var cm = (ConnectivityManager)context.GetSystemService (ConnectivityService); - if (cm == null || cm.ActiveNetworkInfo == null) { - return false; - } else { - return cm.ActiveNetworkInfo.IsAvailable; - } + void Hide () { +// Window _window; +// _window = this.GetWindow (); +// WindowManager.LayoutParams params = _window.getAttributes (); +//params.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; +// _window.setAttributes (params); } - - bool isWifiConnected (Context context) - { - if (context != null) { - var mConnectivityManager = (ConnectivityManager)context.GetSystemService - (ConnectivityService); - var mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo (ConnectivityType.Wifi); - if (mWiFiNetworkInfo != null) { - return mWiFiNetworkInfo.IsAvailable; - } - } - return false; - } - } } -- Gitblit v1.8.0