From 5b0a842cbdc5dc54e45e5d350d3516d0cdd59199 Mon Sep 17 00:00:00 2001
From: lss <lsc@hdlchina.com.cn>
Date: 星期一, 25 四月 2022 14:50:07 +0800
Subject: [PATCH] 2022-4-25
---
ZigbeeApp/GateWay.Droid/Application.cs | 228 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 189 insertions(+), 39 deletions(-)
diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
index 46946fd..8e80a5c 100755
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -20,13 +20,12 @@
namespace com.hdl.home
{
-
[Activity(Name = "com.hdl.home.wxapi.WXEntryActivity", Exported = true, Theme = "@android:style/Theme.Translucent", LaunchMode = Android.Content.PM.LaunchMode.SingleTask)]
class WXEntryActivity : Android.App.Activity, IWXAPIEventHandler
{
public void OnReq(BaseReq p0)
- {
-
+ {
+
}
protected override void OnNewIntent(Intent intent)
{
@@ -51,32 +50,46 @@
break;
default:
RespAction?.Invoke(null);
- break;
-
- //case SendAuth.Resp.InnerErrCode.ErrUserCancel:
- // break;
- //case SendAuth.Resp.InnerErrCode.ErrAuthDenied:
- // break;
-
+ break;
+
+ //case SendAuth.Resp.InnerErrCode.ErrUserCancel:
+ // break;
+ //case SendAuth.Resp.InnerErrCode.ErrAuthDenied:
+ // break;
+
}
- }
-
+ }
+
this.Finish();
}
//IWXAPI api;
protected override void OnCreate(Bundle savedInstanceState)
{
- base.OnCreate(savedInstanceState);
- // 閫氳繃WXAPIFactory宸ュ巶锛岃幏鍙朓WXAPI鐨勫疄渚�
- //api = WXAPIFactory.CreateWXAPI(this, "wx2ec8f53f6fa36e82", false);
-
- // 灏嗗簲鐢ㄧ殑appId娉ㄥ唽鍒板井淇�
- //api.RegisterApp("wx2ec8f53f6fa36e82");
-
- com.hdl.home.Application.api?.HandleIntent(Intent, this);
+ base.OnCreate(savedInstanceState);
+ // 閫氳繃WXAPIFactory宸ュ巶锛岃幏鍙朓WXAPI鐨勫疄渚�
+ //api = WXAPIFactory.CreateWXAPI(this, "wx2ec8f53f6fa36e82", false);
+
+ // 灏嗗簲鐢ㄧ殑appId娉ㄥ唽鍒板井淇�
+ //api.RegisterApp("wx2ec8f53f6fa36e82");
+
+ com.hdl.home.Application.api?.HandleIntent(Intent, this);
}
}
- /// <summary>鈥� /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application鈥� /// </summary>鈥� [Android.App.Application()]鈥� public class Application : Android.App.Application鈥� {鈥� public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }鈥ㄢ�� public override void OnCreate()鈥� {
+ /// <summary>
+ /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application
+ /// </summary>
+ [Android.App.Application]
+ public class Application : Android.App.Application
+ {
+ public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
+
+ /// <summary>
+ /// 妫�娴嬪唴瀛樻硠闇茬殑涓滆タ
+ /// </summary>
+ //private Square.LeakCanary.RefWatcher _refWatcher;
+
+ public override void OnCreate()
+ {
//濡傛灉涓嶆槸App鐨勪富杩涚▼,鍒欎笉闇�瑕佸鐞�
if (this.IsCurrentAppProcess == false)
{
@@ -87,12 +100,22 @@
{
//杩欎釜涓滆タ濂藉儚鍙兘浼氬嚭寮傚父
this.initAll();
- }鈥� catch (Exception ex)鈥� {
+ }
+ catch (Exception ex)
+ {
//璋冭瘯:璁板綍绯荤粺寮傚父
Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.SystemLogFile, ex.Message + "\r\n" + ex.StackTrace, true, false);
- }鈥� base.OnCreate();
- // 閫氳繃WXAPIFactory宸ュ巶锛岃幏鍙朓WXAPI鐨勫疄渚�
- //api = WXAPIFactory.CreateWXAPI(this, "wx2ec8f53f6fa36e82", true);
+ }
+ base.OnCreate();
+ // 閫氳繃WXAPIFactory宸ュ巶锛岃幏鍙朓WXAPI鐨勫疄渚�
+ //api = WXAPIFactory.CreateWXAPI(this, "wx2ec8f53f6fa36e82", true);
+
+ //妫�娴嬪唴瀛樻硠闇茬殑涓滆タ
+ //if (Square.LeakCanary.LeakCanaryXamarin.IsInAnalyzerProcess(this) == false)
+ //{
+ // _refWatcher = Square.LeakCanary.LeakCanaryXamarin.Install(this);
+ // _refWatcher.Watch(this);
+ //}
// 灏嗗簲鐢ㄧ殑appId娉ㄥ唽鍒板井淇�
api?.RegisterApp("wx2ec8f53f6fa36e82");
@@ -116,20 +139,30 @@
}
return false;
}
- }
+ }
+
+ internal static IWXAPI api;
- internal static IWXAPI api;
-
- public static void WXLogin() {
+ public static void WXLogin()
+ {
var req = new SendAuth.Req { Scope = "snsapi_userinfo", State = "ZigbeeApp" };
api?.SendReq(req);
}
- /// <summary>鈥� /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳�� /// </summary>鈥� void initAll()鈥� {
- Shared.Application.IsGpsEnable = System.IO.File.Exists(Shared.Phone.UserCenter.DirNameResourse.OpenGbsFile);
+
+ /// <summary>
+ /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜�
+ /// </summary>
+ void initAll()
+ {
+ //鍙栨秷灞忓箷甯镐寒
+ BaseActivity.KeepScreenON = false;
+ //闅愯棌搴曢儴杞寜閿�
+ BaseActivity.IsHideVirualButtons = true;
//璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
// System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
-#if Release鈥� JPushInterface.SetDebugMode(false);
+#if Release
+ JPushInterface.SetDebugMode(false);
//淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠�
//System.Console.WriteLine($"BBB : {System .DateTime .Now .ToString ()}");
@@ -138,7 +171,8 @@
#endif
- BaseActivity.BackKeyAction = () => {
+ BaseActivity.BackKeyAction = () =>
+ {
try
{
if (Shared.Common.CommonPage.BackKeyCanClick == false)
@@ -175,20 +209,135 @@
Console.WriteLine("Remove PageLayout Children!!!!");
HomePage.Instance.GetChildren(HomePage.Instance.ChildrenCount - 1).RemoveFromParent();
Console.WriteLine("Remove PageLayout Children End!!!!");
+ }
+ else if (Shared.Common.CommonPage.Instance.ChildrenCount > 2)
+ {
+ //杩欓噷鍙搴旂櫥闄嗙晫闈㈢殑
+ Shared.Common.CommonPage.Instance.GetChildren(Shared.Common.CommonPage.Instance.ChildrenCount - 1).RemoveFromParent();
}
else
{
BaseActivity.VerifyDateTime = DateTime.MaxValue;
Console.WriteLine("BaseActivity VerifyDateTime Max!!!!");
}
- };
-鈥� BaseActivity.OnCreateActoin += (activity, application) => {
+ };
+ BaseActivity.OnCreateActoin += (activity, application) =>
+ {
Shared.Application.FontSize = 12;
- AppCenter.Start("4802834a-e7e9-4dd8-93f1-c2f88f0bd464", typeof(Analytics), typeof(Crashes));鈥�#if Release鈥� //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠垛�� var registrationId = JPushInterface.GetRegistrationID(activity);
+ AppCenter.Start("4802834a-e7e9-4dd8-93f1-c2f88f0bd464", typeof(Analytics), typeof(Crashes));
+#if Release
+ //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
+ var registrationId = JPushInterface.GetRegistrationID(activity);
System.Console.WriteLine("registrationId-鏋佸厜id=" + registrationId);
- if (!string.IsNullOrEmpty(registrationId))鈥� {鈥� Shared.Common.Config.Instance.RegistrationID = registrationId;鈥� Shared.Common.Config.Instance.Save();鈥� }鈥� //璋冭瘯:璁板綍鏋佸厜ID鈥� Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.JiguangFile, "receive1:" + registrationId, true, true);鈥�#endif鈥� };鈥ㄢ�� 鈥� BaseActivity.RefreshUIAction += (activity) => {鈥� Shared.Language.CurrentLanguage = "Chinese";鈥� Shared.Common.CommonPage.Instance.Show();鈥� };鈥ㄢ�� BaseActivity.NetworkStateChanged += (v) =>鈥� {鈥� };鈥� BaseActivity.OnDestroyAction += (activity) => {鈥� //socket鍋滄杩炴帴鈥� //ZigBee.Device.ZbGateway.FindGateWaySocket.Stop();鈥� };鈥ㄢ�� HDLUtils.SetAuthoritiesName("com.evoyo.home.fileProvider");鈥� }鈥ㄢ�� public static bool IsShowTip = true;鈥� JpushNotificationReceiver myReceiver = new JpushNotificationReceiver { };鈥ㄢ�� /// <summary>鈥� /// 椤圭洰鍚姩鏃剁綉缁滄煡璇⑩�� /// </summary>鈥� void checkSomeInfo()鈥� {鈥� var status = isNetworkAvailable(this);鈥� string internetStatus = "Available";鈥� if (!status)鈥� {鈥� internetStatus = "UnaVailable";鈥� }鈥� else鈥� {鈥� var isWifi = isWifiConnected(this);鈥� if (isWifi)鈥� {鈥� internetStatus = "WiFiConnect";鈥� }鈥� else鈥� {鈥� internetStatus = "MobileConnect";鈥� }鈥� }鈥ㄢ�� int connectState = 0;鈥� if (internetStatus == "UnaVailable")鈥� {鈥� connectState = 0;鈥� }鈥� else if (internetStatus == "WiFiConnect")鈥� {鈥� connectState = 2;鈥� }鈥� else鈥� {鈥� connectState = 1;鈥� }鈥� //ZigBee.Device.ZbGateway.CheckConnection(connectState);鈥� }鈥ㄢ�� /// <summary>鈥� /// 缃戠粶鏄惁鍙敤鈥� /// </summary>鈥� /// <returns><c>true</c>, if network available was ised, <c>false</c> otherwise.</returns>鈥� /// <param name="context">Context.</param>鈥� bool isNetworkAvailable(Context context)鈥� {鈥� var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);鈥ㄢ�� if (cm == null || cm.ActiveNetworkInfo == null)鈥� {鈥� //褰撳墠缃戠粶涓嶅彲鐢ㄢ�� return false;鈥� }鈥� else鈥� {鈥� return cm.ActiveNetworkInfo.IsAvailable;鈥� }鈥� }鈥ㄢ�� /// <summary>鈥� /// 缃戠粶鏄惁杩炴帴鈥� /// </summary>鈥� /// <returns><c>true</c>, if wifi connected was ised, <c>false</c> otherwise.</returns>鈥� /// <param name="context">Context.</param>鈥� bool isWifiConnected(Context context)鈥� {鈥� if (context != null)鈥� {鈥� var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);鈥ㄢ�� var mWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Wifi);鈥� if (Android.Net.NetworkInfo.State.Connected == mWiFiNetworkInfo.GetState())鈥� {鈥� //褰撳墠缃戠粶鏄疻i-Fi杩炴帴鈥� return true;鈥� }鈥ㄢ�� var moWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Mobile);鈥� if (Android.Net.NetworkInfo.State.Connected == moWiFiNetworkInfo.GetState())鈥� {鈥� //褰撳墠缃戠粶鏄疢obile杩炴帴鈥� return false;鈥� }鈥� }鈥� return false;鈥� }
+ if (!string.IsNullOrEmpty(registrationId))
+ {
+ Shared.Common.Config.Instance.RegistrationID = registrationId;
+ Shared.Common.Config.Instance.Save();
+ }
+ //璋冭瘯:璁板綍鏋佸厜ID
+ Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.JiguangFile, "receive1:" + registrationId, true, true);
+#endif
+ };
+ BaseActivity.RefreshUIAction += (activity) =>
+ {
+ Shared.Language.CurrentLanguage = "Chinese";
+ Shared.Common.CommonPage.Instance.Show();
+ };
+ BaseActivity.NetworkStateChanged += (v) =>
+ {
+ };
+ BaseActivity.OnDestroyAction += (activity) =>
+ {
+ //socket鍋滄杩炴帴
+ //ZigBee.Device.ZbGateway.FindGateWaySocket.Stop();
+ };
+ HDLUtils.SetAuthoritiesName("com.evoyo.home.fileProvider");
+ }
+ public static bool IsShowTip = true;
+ JpushNotificationReceiver myReceiver = new JpushNotificationReceiver { };
+ /// <summary>
+ /// 椤圭洰鍚姩鏃剁綉缁滄煡璇�
+ /// </summary>
+ void checkSomeInfo()
+ {
+ var status = isNetworkAvailable(this);
+ string internetStatus = "Available";
+ if (!status)
+ {
+ internetStatus = "UnaVailable";
+ }
+ else
+ {
+ var isWifi = isWifiConnected(this);
+ if (isWifi)
+ {
+ internetStatus = "WiFiConnect";
+ }
+ else
+ {
+ internetStatus = "MobileConnect";
+ }
+ }
+ int connectState = 0;
+ if (internetStatus == "UnaVailable")
+ {
+ connectState = 0;
+ }
+ else if (internetStatus == "WiFiConnect")
+ {
+ connectState = 2;
+ }
+ else
+ {
+ connectState = 1;
+ }
+ //ZigBee.Device.ZbGateway.CheckConnection(connectState);
+ }
+ /// <summary>
+ /// 缃戠粶鏄惁鍙敤
+ /// </summary>
+ /// <returns><c>true</c>, if network available was ised, <c>false</c> otherwise.</returns>
+ /// <param name="context">Context.</param>
+ bool isNetworkAvailable(Context context)
+ {
+ var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);
+ if (cm == null || cm.ActiveNetworkInfo == null)
+ {
+ //褰撳墠缃戠粶涓嶅彲鐢�
+ return false;
+ }
+ else
+ {
+ return cm.ActiveNetworkInfo.IsAvailable;
+ }
+ }
+ /// <summary>
+ /// 缃戠粶鏄惁杩炴帴
+ /// </summary
+ /// <returns><c>true</c>, if wifi connected was ised, <c>false</c> otherwise.</returns>
+ /// <param name="context">Context.</param>
+ bool isWifiConnected(Context context)
+ {
+ if (context != null)
+ {
+ var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);
+ var mWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Wifi);
+ if (Android.Net.NetworkInfo.State.Connected == mWiFiNetworkInfo.GetState())
+ {
+ //褰撳墠缃戠粶鏄疻i-Fi杩炴帴
+ return true;
+ }
+ var moWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Mobile);
+ if (Android.Net.NetworkInfo.State.Connected == moWiFiNetworkInfo.GetState())
+ {
+ //褰撳墠缃戠粶鏄疢obile杩炴帴
+ return false;
+ }
+ }
+ return false;
+ }
-
+
}
[BroadcastReceiver(Name = "com.evoyo.home.JpushNotificationReceiver", Exported = false, Enabled = true)]
@@ -390,7 +539,8 @@
CustomOverlay = mZXingCustomScanView
};
- mZXingCustomScanView.OnCancel += () => {
+ mZXingCustomScanView.OnCancel += () =>
+ {
scanner?.Cancel();
};
--
Gitblit v1.8.0