From 1ecba3f7432912d4eb7637355f4dfae676059e00 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 15 十二月 2020 17:23:58 +0800
Subject: [PATCH] 1

---
 HDL-ON_Android/Application.cs |  106 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 88 insertions(+), 18 deletions(-)

diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index fd6bb1c..0325145 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -5,6 +5,7 @@
 using Android.Content;
 using Android.Net;
 using Android.OS;
+using CN.Jpush.Android.Api;
 using HDL_ON;
 using Java.Util;
 using Shared;
@@ -48,7 +49,9 @@
 
             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;
             init();
             BaseActivity.OnCreateActoin += (activity, application) =>
@@ -60,17 +63,19 @@
                 {
                     Language.CurrentLanguage = "Chinese";
                 }
+        
+                //鑾峰彇鏋佸厜鎺ㄩ�両D
+                GetJPushRegistrationID(activity);
 
                 BaseActivity.NetworkStateChanged += (int obj) =>
                 {
-
                     if (!IsEnterBackground)
                     {
-                        BusSocket.Stop();
+                        //BusSocket.Stop();
                         new System.Threading.Thread(() =>
                         {
                             System.Threading.Thread.Sleep(1000);
-                            BusSocket.Start(6000);
+                            //BusSocket.Start();
                         })
                         { IsBackground = true }.Start();
                     }
@@ -78,7 +83,7 @@
                     {
                         Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�");
                     }
-
+                    MainPage.InternetStatus = obj;
                 };
             };
             BaseActivity.RefreshUIAction += (activity) =>
@@ -89,13 +94,13 @@
             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;
             };
 
 
@@ -103,22 +108,82 @@
 
             //Shared.Application.IsGpsEnable = true;
 
-            Shared.Application.LocationAction = (arg1, arg2) =>
+            //鑾峰彇缁忕含搴� 
+            Shared.Application.LocationAction = (lon, lat) =>
             {
-                Shared.Application.LocationAction = null;
+                try
+                {
+                    Shared.Application.LocationAction = null;
+                    Shared.Application.StopGPSLocationService();
+                    new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(lon.ToString(), lat.ToString());
+                }
+                catch
+                {
 
-                new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(arg1.ToString(), arg2.ToString());
-
-                MainPage.Log($"缁忕含搴�:::{arg1}:{arg2}");
-
+                }
+                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 +275,8 @@
             {
                 Console.WriteLine("HHH OnActivityStarted锛歠oreground");
                 BusSocketStart();
+                //鍚庡彴鍥炲埌鍓嶅彴
+                new HDL_ON.UI.AppUnlockPage().LoadPage();
             }
         }
 
@@ -221,6 +288,9 @@
             {
                 Console.WriteLine("HHH OnActivityStopped锛� background");
                 BusSocketStop();
+                //杩涘叆鍚庡彴
+                UserInfo.Current.unlockTime = DateTime.Now;
+
             }
         }
 
@@ -244,8 +314,7 @@
         void BusSocketStop()
         {
             IsEnterBackground = true;
-            BusSocket.Stop();
-            OnAppConfig.Instance.unlockTime = DateTime.Now;
+            //BusSocket.Stop();
         }
 
 
@@ -256,7 +325,8 @@
         {
             IsEnterBackground = false;
 
-            BusSocket.Start(6000);
+            //BusSocket.Start();
         }
     }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0