wxr
2024-12-02 ea0b1e8e5f43c5fd0a7d479e25ede3b8cbea464a
HDL-ON_Android/Application.cs
@@ -5,15 +5,13 @@
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
@@ -24,6 +22,8 @@
    [Android.App.Application(Theme = "@style/MyTheme")]
    public class Application : Android.App.Application, Android.App.Application.IActivityLifecycleCallbacks
    {
        //处理安卓接收不到udp命令问题
        WifiManager.MulticastLock multicast;
        static void reStartApp(Android.App.Application application)
        {
@@ -36,6 +36,7 @@
        public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
        public override void OnCreate()
        {
            if (Shared.Application.Activity != null)
            {
                //reStartApp(this);
@@ -43,6 +44,11 @@
            }
            base.OnCreate();
            WifiManager manager = (WifiManager)this.GetSystemService(Context.WifiService);
            multicast = manager.CreateMulticastLock("UDPwifi");
            Language.CurrentLanguage = "Chinese";
            Locale locale1 = Locale.Default;
@@ -97,9 +103,13 @@
            {
                Console.WriteLine("HHH OnActivityStarted:foreground");
                BusSocketStart();
                multicast.Acquire();
                //后台回到前台
                new HDL_ON.UI.AppUnlockPage().LoadPage();
            }
        }
        public void OnActivityStopped(Activity activity)
@@ -110,9 +120,9 @@
            {
                Console.WriteLine("HHH OnActivityStopped: background");
                BusSocketStop();
                multicast.Release();
                //进入后台
                UserInfo.Current.unlockTime = DateTime.Now;
            }
        }
@@ -140,7 +150,7 @@
        /// </summary>
        void BusSocketStop()
        {
            //IsEnterBackground = true;
            CloseTime = DateTime.Now;
            MainPage.IsEnterBackground = true;
            //进入后台mqtt正在连接重置状态
@@ -154,8 +164,6 @@
        /// </summary>
        void BusSocketStart()
        {
            //IsEnterBackground = false;
            if (CloseTime.AddSeconds(10) < DateTime.Now)
            {
                //后台超过10s就断开MQTT重连