From 1de41bc038dcf623834b63422da350693429570b Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 13 十二月 2023 16:20:47 +0800
Subject: [PATCH] Merge branch 'Dev-Branch' into wjc
---
HDL-ON_Android/Application.cs | 516 ++++++++++++++++----------------------------------------
1 files changed, 149 insertions(+), 367 deletions(-)
diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index b2261ff..e0d59a4 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -5,413 +5,195 @@
using Android.App;
using Android.Content;
using Android.Net;
+using Android.Net.Wifi;
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
{
- /// <summary>
- /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application
- /// </summary>
- [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()
- {
- //娉ㄥ唽鏈鐞嗗紓甯镐簨浠�
- AppCenter.Start("64ac5859-2cd7-4ef8-a5da-5455e29679ec", typeof(Analytics), typeof(Crashes));
- if (Shared.Application.Activity != null)
- {
- reStartApp(this);
- return;
- }
-
- base.OnCreate();
- RegisterActivityLifecycleCallbacks(this);
-
- initAll();
-
- }
-
-
-
/// <summary>
- /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜�
+ /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application
/// </summary>
- void initAll()
+ [Android.App.Application(Theme = "@style/MyTheme")]
+ public class Application : Android.App.Application, Android.App.Application.IActivityLifecycleCallbacks
{
+ //澶勭悊瀹夊崜鎺ユ敹涓嶅埌udp鍛戒护闂
+ WifiManager.MulticastLock multicast;
- 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
+ static void reStartApp(Android.App.Application application)
{
- 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;
- }
+ var intent = new Intent(application, typeof(BaseActivity));
+ intent.AddFlags(ActivityFlags.NewTask);
+ application.StartActivity(intent);
+ Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
}
- catch (Exception ex)
+
+ public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
+ public override void OnCreate()
{
- MainPage.Log(ex.Message);
- BaseActivity.VerifyDateTime = DateTime.MaxValue;
- }
- };
- init();
- BaseActivity.OnCreateActoin += (activity, application) =>
- {
- Language.CurrentLanguage = "Chinese";
- Locale locale1 = Locale.Default;
- var localeList = Resources.Configuration.Locale;
- if (localeList.Language == "zh")
- {
- Language.CurrentLanguage = "Chinese";
- }
- else
- {
- Language.CurrentLanguage = "English";
- }
- //鑾峰彇鏋佸厜鎺ㄩ�両D
- GetJPushRegistrationID(activity);
-
- 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);
- };
- };
- BaseActivity.RefreshUIAction += (activity) =>
- {
- MainPage.Show();
- checkSomeInfo();
- };
- BaseActivity.OnResumeAction += (activity) =>
- {
- checkSomeInfo();
- };
- BaseActivity.OnDestroyAction += (activity) =>
- {
- Console.WriteLine("OnDestroyAction");
- //BusSocket.Stop();
- //UserInfo.Current.unlockTime = DateTime.Now;
- };
-
-
- HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider");
-
- //Shared.Application.IsGpsEnable = true;
- bool isfirst = true;
- //鑾峰彇缁忕含搴�
- Shared.Application.LocationAction = (lon, lat) =>
- {
- try
- {
- if (isfirst)
- {
- //鍙Е鍙戜竴娆�
- //Shared.Application.LocationAction = null;
- new HDL_ON.DAL.Server.HttpServerRequest().GetCityWeatherInfo(lon.ToString(), lat.ToString());
- }
- isfirst = false;
- ///鐩戝惉缁忕含搴�
- HDL_ON.UI.UI2.Intelligence.Automation.LogicMethod.CurrLogicMethod.AppLatAndLonEvent(lon, lat);
- //鍏抽棴瀹氫綅鏈嶅姟
- //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)
+ if (Shared.Application.Activity != null)
{
- break;
+ //reStartApp(this);
+ return;
}
- }
- 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
- {
+ base.OnCreate();
- }
- }
+ WifiManager manager = (WifiManager)this.GetSystemService(Context.WifiService);
- 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);
+ multicast = manager.CreateMulticastLock("UDPwifi");
- }
- void checkSomeInfo()
- {
- try
- {
- IsShowTip = true;
- var status = isNetworkAvailable(this);
- int internetStatus = 0;
- if (!status)
- {
- internetStatus = 0;
+
+ Language.CurrentLanguage = "Chinese";
+ Locale locale1 = Locale.Default;
+ var localeList = Resources.Configuration.Locale;
+ Console.WriteLine("褰撳墠璇█锛�" + localeList.Language);
+ if (localeList.Language == "zh")
+ {
+ Language.CurrentLanguage = "Chinese";
+ }
+ else
+ {
+ Language.CurrentLanguage = "English";
+ }
+
+ RegisterActivityLifecycleCallbacks(this);
}
- var isWifi = isWifiConnected(this);
- if (isWifi)
+ public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
{
- internetStatus = 2;
+
}
- else
+
+ public void OnActivityDestroyed(Activity activity)
{
- internetStatus = 1;
+ //throw new NotImplementedException ();
}
- }
- catch (Exception ex)
- {
- Console.WriteLine($"android check some info erorr : {ex.Message}");
- }
- }
- 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)
+ public void OnActivityPaused(Activity activity)
{
- return mWiFiNetworkInfo.IsAvailable;
+ //throw new NotImplementedException ();
}
- }
- 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();
- //鍚庡彴鍥炲埌鍓嶅彴
- new HDL_ON.UI.AppUnlockPage().LoadPage();
- }
- }
-
- public void OnActivityStopped(Activity activity)
- {
-
- mCount--;
- if (mCount == 0)
- {
- Console.WriteLine("HHH OnActivityStopped锛� background");
- BusSocketStop();
- //杩涘叆鍚庡彴
- UserInfo.Current.unlockTime = DateTime.Now;
-
- }
- }
-
-
- public override void OnTerminate()
- {
- base.OnTerminate();
- UnregisterActivityLifecycleCallbacks(this);
- }
-
- int mCount;
-
- ///// <summary>
- ///// 鏄惁杩涘叆鍚庡彴
- ///// </summary>
- //public bool IsEnterBackground = false;
-
- /// <summary>
- /// 杩涘叆鍚庡彴鐨勬椂闂�
- /// </summary>
- DateTime CloseTime = DateTime.Now;
-
- /// <summary>
- /// BusSocketStop
- /// </summary>
- void BusSocketStop()
- {
- //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;
-
- if (CloseTime.AddSeconds(10) < DateTime.Now)
- {
- //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛
- //if (HDL_ON.DriverLayer.Control.Ins.IsRemote)
+ public void OnActivityResumed(Activity activity)
{
- HDL_ON.DAL.Mqtt.MqttClient.DisConnectRemote("closeTime", false);
+ //throw new NotImplementedException ();
}
- }
- MainPage.IsEnterBackground = false;
- HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
- HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
- }
+ public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
+ {
+ //throw new NotImplementedException ();
+ }
- protected override void Dispose(bool disposing)
- {
- base.Dispose(disposing);
- }
+ public void OnActivityStarted(Activity activity)
+ {
+ //throw new NotImplementedException ();
+ if (HDL_ON.OnAppConfig.Instance.FirstRunApp)
+ {
+ return;
+ }
+ mCount++;
+ if (mCount == 1)
+ {
+ Console.WriteLine("HHH OnActivityStarted锛歠oreground");
+ BusSocketStart();
+ multicast.Acquire();
- /// <summary>
- /// 鏌ヨ閫氱煡鏉冮檺锛屽苟鎻愮ず
- /// </summary>
- public void QueryNotificationPermission()
- {
+ //鍚庡彴鍥炲埌鍓嶅彴
+ new HDL_ON.UI.AppUnlockPage().LoadPage();
+
+ }
+
+ }
+
+ public void OnActivityStopped(Activity activity)
+ {
+
+ mCount--;
+ if (mCount == 0)
+ {
+ Console.WriteLine("HHH OnActivityStopped锛� background");
+ BusSocketStop();
+ multicast.Release();
+ //杩涘叆鍚庡彴
+ UserInfo.Current.unlockTime = DateTime.Now;
+ }
+ }
+
+
+ public override void OnTerminate()
+ {
+ base.OnTerminate();
+ UnregisterActivityLifecycleCallbacks(this);
+ }
+
+ public int mCount;
+
+ ///// <summary>
+ ///// 鏄惁杩涘叆鍚庡彴
+ ///// </summary>
+ //public bool IsEnterBackground = false;
+
+ /// <summary>
+ /// 杩涘叆鍚庡彴鐨勬椂闂�
+ /// </summary>
+ DateTime CloseTime = DateTime.Now;
+
+ /// <summary>
+ /// BusSocketStop
+ /// </summary>
+ void BusSocketStop()
+ {
+
+ 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()
+ {
+ 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);
+ }
+
+ /// <summary>
+ /// 鏌ヨ閫氱煡鏉冮檺锛屽苟鎻愮ず
+ /// </summary>
+ public void QueryNotificationPermission()
+ {
+
+
+ }
+
}
-
-
- }
-
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0