From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 14:16:20 +0800
Subject: [PATCH] 增加本地发送的重发机制
---
HDL-ON_Android/Application.cs | 96 ++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 85 insertions(+), 11 deletions(-)
diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index 1e33f4e..f676103 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,6 +63,9 @@
{
Language.CurrentLanguage = "Chinese";
}
+
+ //鑾峰彇鏋佸厜鎺ㄩ�両D
+ GetJPushRegistrationID(activity);
BaseActivity.NetworkStateChanged += (int obj) =>
{
@@ -77,7 +83,7 @@
{
Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�");
}
-
+ MainPage.InternetStatus = obj;
};
};
BaseActivity.RefreshUIAction += (activity) =>
@@ -88,34 +94,97 @@
BaseActivity.OnResumeAction += (activity) =>
{
checkSomeInfo();
- new HDL_ON.UI.AppUnlockPage().LoadPage();
+
};
BaseActivity.OnDestroyAction += (activity) =>
{
Console.WriteLine("OnDestroyAction");
//BusSocket.Stop();
- OnAppConfig.Instance.unlockTime = DateTime.Now;
+ //UserInfo.Current.unlockTime = DateTime.Now;
};
+
HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider");
//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;
+ //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()
{
@@ -207,6 +276,8 @@
{
Console.WriteLine("HHH OnActivityStarted锛歠oreground");
BusSocketStart();
+ //鍚庡彴鍥炲埌鍓嶅彴
+ new HDL_ON.UI.AppUnlockPage().LoadPage();
}
}
@@ -218,6 +289,9 @@
{
Console.WriteLine("HHH OnActivityStopped锛� background");
BusSocketStop();
+ //杩涘叆鍚庡彴
+ UserInfo.Current.unlockTime = DateTime.Now;
+
}
}
@@ -242,7 +316,6 @@
{
IsEnterBackground = true;
//BusSocket.Stop();
- OnAppConfig.Instance.unlockTime = DateTime.Now;
}
@@ -256,4 +329,5 @@
//BusSocket.Start();
}
}
+
}
\ No newline at end of file
--
Gitblit v1.8.0