From c8c33200e43f05136eca9fc8ff4942f8def31cc6 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 18 八月 2021 10:45:40 +0800
Subject: [PATCH] 2021-08-18 1.完善Android对接LinphoneSDK 2.完善SIP相关接口对接
---
HDL-ON_Android/Application.cs | 185 +++++++++++++++++++++++++++++++++------------
1 files changed, 134 insertions(+), 51 deletions(-)
diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index 1304502..ecb3682 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -1,13 +1,19 @@
锘縰sing System;
using System.Net;
+using System.Threading.Tasks;
using Android;
using Android.App;
using Android.Content;
using Android.Net;
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
@@ -29,6 +35,8 @@
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);
@@ -41,6 +49,9 @@
initAll();
}
+
+
+
/// <summary>
/// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜�
/// </summary>
@@ -49,8 +60,36 @@
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
+ {
+ 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;
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log(ex.Message);
+ BaseActivity.VerifyDateTime = DateTime.MaxValue;
+ }
+ };
+
init();
BaseActivity.OnCreateActoin += (activity, application) =>
{
@@ -61,32 +100,33 @@
{
Language.CurrentLanguage = "Chinese";
}
- //#if DEBUG
-
- //#else
- // //娉ㄥ唽鏋佸厜鎺ㄩ��
- // InitJPush(activity);
- //#endif
+ else
+ {
+ Language.CurrentLanguage = "English";
+ }
//鑾峰彇鏋佸厜鎺ㄩ�両D
GetJPushRegistrationID(activity);
- BaseActivity.NetworkStateChanged += (int obj) =>
+ 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 缃戠粶鍙樺寲浣嗗浜庡悗鍙�");
- }
+ //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) =>
@@ -97,28 +137,39 @@
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;
-
- new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(arg1.ToString(), arg2.ToString());
-
- MainPage.Log($"缁忕含搴�:::{arg1}:{arg2}");
+ try
+ {
+ Shared.Application.LocationAction = null;
+ new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(lon.ToString(), lat.ToString());
+ //鍏抽棴瀹氫綅鏈嶅姟
+ Shared.Application.StopGPSLocationService();
+ }
+ catch (Exception ex)
+ {
+ Utlis.WriteLine("GetCityInfo catch" + ex.Message);
+ }
+ MainPage.Log($"缁忕含搴�:::{lon}:{lat}");
};
+
+
}
/// <summary>
@@ -127,16 +178,18 @@
/// <param name="activity"></param>
void GetJPushRegistrationID(BaseActivity activity)
{
+
try
{
+
//淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
var tokenID = JPushInterface.GetRegistrationID(activity);
Console.WriteLine("RegistrationID: " + tokenID);
- if (!string.IsNullOrEmpty(tokenID) && UserInfo.Current.PushDeviceToken != tokenID)
+ if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
{
- UserInfo.Current.PushDeviceToken = tokenID;
- UserInfo.Current.PhoneName = Android.OS.Build.Manufacturer;
- UserInfo.Current.SaveUserInfo();
+ OnAppConfig.Instance.PushDeviceToken = tokenID;
+ OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
+ OnAppConfig.Instance.SaveConfig();
}
int loadTokenCount = 0;
System.Threading.Tasks.Task.Run(() =>
@@ -153,11 +206,11 @@
}
}
Console.WriteLine("RegistrationID: " + tokenID);
- if (!string.IsNullOrEmpty(tokenID) && UserInfo.Current.PushDeviceToken != tokenID)
+ if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
{
- UserInfo.Current.PushDeviceToken = tokenID;
- UserInfo.Current.PhoneName = Android.OS.Build.Manufacturer;
- UserInfo.Current.SaveUserInfo();
+ OnAppConfig.Instance.PushDeviceToken = tokenID;
+ OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
+ OnAppConfig.Instance.SaveConfig();
}
});
@@ -173,9 +226,9 @@
{
//鎵嬫満鍚嶇О Android.OS.Build.Manufacturer;
//OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
-#if DEBUG
- CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true);
-#endif
+//#if DEBUG
+ //CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true);
+//#endif
CN.Jpush.Android.Api.JPushInterface.Init(this);
}
@@ -269,6 +322,8 @@
{
Console.WriteLine("HHH OnActivityStarted锛歠oreground");
BusSocketStart();
+ //鍚庡彴鍥炲埌鍓嶅彴
+ new HDL_ON.UI.AppUnlockPage().LoadPage();
}
}
@@ -280,6 +335,9 @@
{
Console.WriteLine("HHH OnActivityStopped锛� background");
BusSocketStop();
+ //杩涘叆鍚庡彴
+ UserInfo.Current.unlockTime = DateTime.Now;
+
}
}
@@ -292,31 +350,56 @@
int mCount;
+ ///// <summary>
+ ///// 鏄惁杩涘叆鍚庡彴
+ ///// </summary>
+ //public bool IsEnterBackground = false;
+
/// <summary>
- /// 鏄惁杩涘叆鍚庡彴
+ /// 杩涘叆鍚庡彴鐨勬椂闂�
/// </summary>
- public bool IsEnterBackground = false;
+ DateTime CloseTime = DateTime.Now;
/// <summary>
/// BusSocketStop
/// </summary>
void BusSocketStop()
{
- IsEnterBackground = true;
- //BusSocket.Stop();
- OnAppConfig.Instance.unlockTime = DateTime.Now;
- }
+ //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;
+ //IsEnterBackground = false;
- //BusSocket.Start();
+ 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);
+ }
+
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0