From 7fa4b66cd58a51c9e7e512ee652282825d16e5dc Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 27 十月 2020 15:13:21 +0800
Subject: [PATCH] 2020-10-27 1.增加iOS越狱和Androidr Root检测,强制关闭APP
---
Crabtree/ON/Application.cs | 241 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 188 insertions(+), 53 deletions(-)
diff --git a/Crabtree/ON/Application.cs b/Crabtree/ON/Application.cs
index 3898983..281ae60 100644
--- a/Crabtree/ON/Application.cs
+++ b/Crabtree/ON/Application.cs
@@ -1,10 +1,12 @@
锘縰sing System;
using Android;
+using Android.App;
using Android.Content;
using Android.Net;
using Android.OS;
-using CN.Jpush.Android.Api;
-using CN.Jpush.Android.Service;
+using Android.Views;
+//using CN.Jpush.Android.Api;
+//using CN.Jpush.Android.Service;
using Java.Lang;
using Java.Util;
using Java.Util.Zip;
@@ -40,14 +42,31 @@
/// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application
/// </summary>
[Android.App.Application]
- public class Application : Android.App.Application
+ public class Application : Android.App.Application, Android.App.Application.IActivityLifecycleCallbacks
{
+ static void reStartApp (Android.App.Application application)
+ {
+ var intent = new Intent (application, typeof (BaseActivity));
+ intent.AddFlags (ActivityFlags.NewTask);
+ application.StartActivity (intent);
+ Android.OS.Process.KillProcess (Android.OS.Process.MyPid ());
+ }
+
public Application (IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base (handle, ownerShip) { }
public override void OnCreate ()
{
- initAll ();
+ if (Shared.Application.Activity != null) {
+ reStartApp (this);
+ return;
+ }
+
+ RegisterActivityLifecycleCallbacks (this);
+
+ //Shared.Application.IsGpsEnable = false;
base.OnCreate ();
+
+ initAll ();
}
/// <summary>
@@ -61,10 +80,9 @@
//BaseActivity.KeepScreenON = false;
-
BaseActivity.BackKeyAction = () => {
if (Shared.SimpleControl.MainPage.Loading != null) {
- Console.WriteLine (MainPage.Loading.CurStatus);
+ Utlis.WriteLine (MainPage.Loading.CurStatus);
if (Shared.SimpleControl.MainPage.Loading.CurStatus) {
Shared.SimpleControl.MainPage.Loading.Hide ();
return;
@@ -73,7 +91,7 @@
//if(BaseActivity.VerifyDateTime == DateTime.MaxValue) { } else
try {
var lastView = Shared.Application.MainPage.GetChildren (Shared.Application.MainPage.ChildrenCount - 1);
- Console.WriteLine ("lastView " + lastView);
+ Utlis.WriteLine ("lastView " + lastView);
if (MainPage.Loading.CurStatus) {
return;
}
@@ -82,49 +100,57 @@
BaseActivity.VerifyDateTime = DateTime.MaxValue;
return;
} else {
- Console.WriteLine ("Remove Dialog!!!!");
+ Utlis.WriteLine ("Remove Dialog!!!!");
var lastView2 = Shared.Application.MainPage.GetChildren (Shared.Application.MainPage.ChildrenCount - 2);
lastView.RemoveFromParent ();
lastView2.RemoveFromParent ();
- Console.WriteLine ("Remove Dialog End!!!!");
+ Utlis.WriteLine ("Remove Dialog End!!!!");
BaseActivity.VerifyDateTime = DateTime.MinValue;
return;
}
}
} catch (System.Exception ezx) {
- Console.WriteLine (ezx.Message);
+ Utlis.WriteLine (ezx.Message);
}
if (SharedMethod.SharedMethod.CurPageLayout != null) {
if (SharedMethod.SharedMethod.CurPageLayout.ChildrenCount > 1) {
- Console.WriteLine ("Remove PageLayout Children!!!!");
+ Utlis.WriteLine ("Remove PageLayout Children!!!!");
SharedMethod.SharedMethod.CurPageLayout.GetChildren (SharedMethod.SharedMethod.CurPageLayout.ChildrenCount - 1).RemoveFromParent ();
- Console.WriteLine ("Remove PageLayout Children End!!!!");
+ Utlis.WriteLine ("Remove PageLayout Children End!!!!");
BaseActivity.VerifyDateTime = DateTime.MinValue;
} else {
- Console.WriteLine ("BaseActivity.VerifyDateTime = DateTime.MaxValue");
+ Utlis.WriteLine ("BaseActivity.VerifyDateTime = DateTime.MaxValue");
BaseActivity.VerifyDateTime = DateTime.MaxValue;
}
}
};
Shared.Application.FontSize = 16;
- BaseActivity.IsHideVirualButtons = false;
+ BaseActivity.IsHideVirualButtons = true;
ZXing.Mobile.MobileBarcodeScanner.Initialize (this);
init ();
BaseActivity.OnCreateActoin += (activity, application) => {
Microsoft.AppCenter.AppCenter.Start ("d0f0f0c5-88af-494b-93af-9a667801b7a3", typeof (Microsoft.AppCenter.Analytics.Analytics), typeof (Microsoft.AppCenter.Crashes.Crashes));
- //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
- var tokenID = JPushInterface.GetRegistrationID (activity);
- if (!string.IsNullOrEmpty (tokenID) && UserConfig.Instance.tokenID != tokenID) {
- UserConfig.Instance.tokenID = tokenID;
- UserConfig.Instance.SaveUserConfig ();
- }
+ ////淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
+ //var tokenID = JPushInterface.GetRegistrationID (activity);
+ //if (!string.IsNullOrEmpty (tokenID) && UserConfig.Instance.tokenID != tokenID) {
+ // UserConfig.Instance.tokenID = tokenID;
+ // UserConfig.Instance.SaveUserConfig ();
+ //}
BaseActivity.NetworkStateChanged += (int obj) => {
- Console.WriteLine ("NetworkStateChanged " + obj);
+ Utlis.WriteLine ("NetworkStateChanged " + obj);
UserConfig.Instance.internetStatus = obj;
UserConfig.Instance.SaveUserConfig ();
- //缃戠粶鍙樺寲閫氱煡
- EquipmentPublicClass.CheckLinkRemote (obj, false);
+ ////缃戠粶鍙樺寲閫氱煡
+ //EquipmentPublicClass.CheckLinkRemote (obj, false);
+
+ //2020-06-10 鍚屾HDLON 淇敼浼樺寲
+ if (!IsEnterBackground) {
+ //缃戠粶鍙樺寲閫氱煡
+ EquipmentPublicClass.CheckLinkRemote (obj, false);
+ } else {
+ Console.WriteLine ("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�");
+ }
};
};
BaseActivity.RefreshUIAction += (activity) => {
@@ -147,21 +173,24 @@
};
HDLUtils.SetAuthoritiesName ("com.hdl.crabtreenew.fileProvider");
}
+
public static bool IsShowTip = true;
+
void init ()
{
Shared.Application.Skin = UserConfig.Instance.CurrentSkinName;
SkinStyle.Current.ChangeColor ();
UserConfig.Instance.phoneName = Android.OS.Build.Manufacturer;
- //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
- JPushInterface.SetDebugMode (false);
- JPushInterface.Init (this);//淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠�
+ ////璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
+ //JPushInterface.SetDebugMode (false);
+ //JPushInterface.Init (this);//淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠�
//鑾峰彇缁忕含搴�
Shared.Application.LocationAction = (arg1, arg2) => {
try {
Shared.Application.LocationAction = null;
Shared.Application.StopGPSLocationService ();
+ //Console.WriteLine ("Get Location GetAirQuality 缁忓害锛�" + arg2.ToString ()+ " 绾害锛�" +arg1.ToString ());
System.Threading.Tasks.Task.Run (() => {
while (true) {
@@ -180,49 +209,155 @@
}
};
}
+
void checkSomeInfo ()
{
- RemoteInfo.Current.ReadMsgList (UserConfig.Instance.tokenID, IsShowTip);
- JPushInterface.ClearAllNotifications (this);
+ //RemoteInfo.Current.ReadMsgList (UserConfig.Instance.tokenID, IsShowTip);
+ //JPushInterface.ClearAllNotifications (this);
IsShowTip = true;
- var status = isNetworkAvailable (this);
- Console.WriteLine ("status!!!" + status);
+ //var status = isNetworkAvailable (this);
+ //Utlis.WriteLine ("status!!!" + status);
+ //int internetStatus = 0;
+ //if (status) {
+ // var isWifi = isWifiConnected (this);
+ // if (isWifi) {
+ // internetStatus = 2;
+ // } else {
+ // internetStatus = 1;
+ // }
+ //}
+ //Utlis.WriteLine ("");
+
+ //2020-06-10 淇敼缃戠粶鍒ゆ柇鍑洪敊闂
int internetStatus = 0;
- if (status) {
- var isWifi = isWifiConnected (this);
- if (isWifi) {
- internetStatus = 2;
- } else {
- internetStatus = 1;
- }
- }
- Console.WriteLine ("");
+ internetStatus = NetworkUtils.CheckConnectedMode ();
+ Console.WriteLine ("internetStatus锛�" + internetStatus);
+
Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote (internetStatus, false);
}
- bool isNetworkAvailable (Context context)
+ //bool isNetworkAvailable (Context context)
+ //{
+ // var cm = (ConnectivityManager)context.GetSystemService (ConnectivityService);
+ // if (cm == null || cm.ActiveNetworkInfo == null) {
+ // return false;
+ // } else {
+ // return cm.ActiveNetworkInfo.IsAvailable;
+ // }
+ //}
+
+ //bool isWifiConnected (Context context)
+ //{
+ // if (context != null) {
+ // var mConnectivityManager = (ConnectivityManager)context.GetSystemService
+ // (ConnectivityService);
+ // var mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo (ConnectivityType.Wifi);
+ // if (mWiFiNetworkInfo != null) {
+ // return mWiFiNetworkInfo.IsAvailable;
+ // }
+ // }
+ // return false;
+ //}
+
+
+ public void OnActivityCreated (Activity activity, Bundle savedInstanceState)
{
- var cm = (ConnectivityManager)context.GetSystemService (ConnectivityService);
- if (cm == null || cm.ActiveNetworkInfo == null) {
- return false;
- } else {
- return cm.ActiveNetworkInfo.IsAvailable;
+
+ }
+
+ public void OnActivityDestroyed (Activity activity)
+ {
+ //throw new NotImplementedException ();
+ }
+
+ public void OnActivityPaused (Activity activity)
+ {
+ //throw new NotImplementedException ();
+ }
+
+ public void OnActivityResumed (Activity activity)
+ {
+ //throw new NotImplementedException ();
+ }
+
+ public void OnActivitySaveInstanceState (Activity activity, Bundle outState)
+ {
+ //throw new NotImplementedException ();
+ }
+
+ public void OnActivityStarted (Activity activity)
+ {
+ //throw new NotImplementedException ();
+
+ mCount++;
+ if (mCount == 1) {
+ Console.WriteLine ("HHH OnActivityStarted锛歠oreground");
+ BusSocketStart ();
}
}
- bool isWifiConnected (Context context)
+ public void OnActivityStopped (Activity activity)
{
- if (context != null) {
- var mConnectivityManager = (ConnectivityManager)context.GetSystemService
- (ConnectivityService);
- var mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo (ConnectivityType.Wifi);
- if (mWiFiNetworkInfo != null) {
- return mWiFiNetworkInfo.IsAvailable;
+
+ mCount--;
+ if (mCount == 0) {
+ Console.WriteLine ("HHH OnActivityStopped锛� background");
+ BusSocketStop ();
+ }
+ }
+
+
+ public override void OnTerminate ()
+ {
+ base.OnTerminate ();
+ UnregisterActivityLifecycleCallbacks (this);
+ }
+
+ int mCount;
+
+ /// <summary>
+ /// 鏄惁杩涘叆鍚庡彴
+ /// </summary>
+ public bool IsEnterBackground = false;
+
+ DateTime closeTime = DateTime.MinValue;
+
+ /// <summary>
+ /// BusSocketStop
+ /// </summary>
+ void BusSocketStop ()
+ {
+ IsEnterBackground = true;
+ Shared.BusSocket.Stop ();
+ closeTime = DateTime.Now;
+ }
+
+
+ /// <summary>
+ /// BusSocketStart
+ /// </summary>
+ void BusSocketStart ()
+ {
+ IsEnterBackground = false;
+
+ if (closeTime == DateTime.MinValue) {
+ closeTime = DateTime.Now;
+ } else if (closeTime.AddSeconds (20) < DateTime.Now) {
+ if (CommonPage.IsRemote) {
+ SmartHome.MqttCommon.DisConnectRemoteMqttClient ("closeTime");
}
}
- return false;
+
+ Shared.BusSocket.Start (6000);
}
+ void Hide () {
+// Window _window;
+// _window = this.GetWindow ();
+// WindowManager.LayoutParams params = _window.getAttributes ();
+//params.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
+// _window.setAttributes (params);
+ }
}
}
--
Gitblit v1.8.0