From 07b0239f824ddb5a0cadf93f20ff6247f72baca2 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 19 一月 2022 11:32:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wxr0114' into wjc --- HDL-ON_Android/SplashActivity.cs | 318 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 311 insertions(+), 7 deletions(-) diff --git a/HDL-ON_Android/SplashActivity.cs b/HDL-ON_Android/SplashActivity.cs index 1611515..680bb95 100644 --- a/HDL-ON_Android/SplashActivity.cs +++ b/HDL-ON_Android/SplashActivity.cs @@ -1,28 +1,332 @@ -锘縰sing Android.App; +锘縰sing System; +using Android.App; using Android.Content; +using Android.Content.PM; +using Android.Net; using Android.OS; +using CN.Jpush.Android.Api; +//using Android.Widget; using Com.Hdl.ON.Jpush.Androidjpush; +using HDL_ON; +using Java.Util; +using Microsoft.AppCenter; +using Microsoft.AppCenter.Analytics; +using Microsoft.AppCenter.Crashes; using Shared; namespace HDL_ON_Android { - [Activity(Theme = "@style/SplashTheme", MainLauncher = true, Name = "com.hdl.onpro.SplashActivity")] + [Activity(Theme = "@style/SplashTheme", MainLauncher = true, Name = "com.hdl.onpro.SplashActivity",ScreenOrientation = ScreenOrientation.Portrait) ] [IntentFilter(new string[] { "com.hdl.onpro.SplashActivity", Intent.ActionView })] public class SplashActivity : Activity { + protected override void OnActivityResult(int requestCode, Result resultVal, Intent data) + { + if (requestCode == 99) + { + if (resultVal == Result.Ok) + { + if (!OnAppConfig.Instance.FirstRunApp) + { + //鍒濆鍖栧弸鐩焥dk + Com.Hdl.Umsdk.UmSdk.InitUmSdk(this, "61d565d9e0f9bb492bbc3d5a", "Android"); + //鍒濆鍖栧弸鐩焥dk config + Com.Hdl.Umsdk.UmSdk.InitUMConfigure(this, "61d565d9e0f9bb492bbc3d5a", "Android", ""); + ////鎵撳紑baseActivity + Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class); + StartActivityForResult(i, 1); + OverridePendingTransition(0, 0); + initAll(); + initOhterSdk(); + Finish();//鍏抽棴鑷繁 + } + } + } + base.OnActivityResult(requestCode, resultVal, data); + } + + protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); + //Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class); + //StartActivityForResult(i, 1); + //OverridePendingTransition(0, 0); + //initAll(); - //鎵撳紑baseActivity - Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class); - StartActivity(i); - OverridePendingTransition(0, 0); - Finish(); + + if (HDL_ON.OnAppConfig.Instance.FirstRunApp || !HDL_ON.OnAppConfig.Instance.isAgreePrivacyPolicy) + { + + Intent intent = new Intent(this, typeof(AgreementActivity)); + StartActivityForResult(intent,99); + } + else + { + //鍒濆鍖栧弸鐩焥dk + Com.Hdl.Umsdk.UmSdk.InitUmSdk(this, "61d565d9e0f9bb492bbc3d5a", "Android"); + //鍒濆鍖栧弸鐩焥dk config + Com.Hdl.Umsdk.UmSdk.InitUMConfigure(this, "61d565d9e0f9bb492bbc3d5a", "Android",""); + ////鎵撳紑baseActivity + Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class); + StartActivityForResult(i, 1); + OverridePendingTransition(0, 0); + initAll(); + initOhterSdk(); + Finish();//鍏抽棴鑷繁 + } + } + + void initOhterSdk() + { + //娉ㄥ唽鏈鐞嗗紓甯镐簨浠� + AppCenter.Start("64ac5859-2cd7-4ef8-a5da-5455e29679ec", typeof(Analytics), typeof(Crashes)); + //鎵嬫満鍚嶇О Android.OS.Build.Manufacturer; + //OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer; + //#if DEBUG + //CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true); + //#endif + JPushInterface.Init(this); + + + BaseActivity.OnCreateActoin += (activity, application) => + { + //鑾峰彇鏋佸厜鎺ㄩ�両D + GetJPushRegistrationID(activity); + + }; + + + } + + /// <summary> + /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜� + /// </summary> + void initAll() + { + //绂佹灞忓箷闀夸寒 + 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; + } + }; + + BaseActivity.OnCreateActoin += (activity, application) => + { + Language.CurrentLanguage = "Chinese"; + Locale locale1 = Locale.Default; + var localeList = Resources.Configuration.Locale; + if (localeList.Language == "zh") + { + Language.CurrentLanguage = "Chinese"; + } + else + { + Language.CurrentLanguage = "English"; + } + + 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 缃戠粶鍙樺寲浣嗗浜庡悗鍙�"); + //} + + //缃戠粶鍙樺寲澶勭悊 + HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground); + }; + }; + BaseActivity.RefreshUIAction += (activity) => + { + MainPage.Show(); + checkSomeInfo(); + }; + BaseActivity.OnResumeAction += (activity) => + { + checkSomeInfo(); + }; + BaseActivity.OnDestroyAction += (activity) => + { + Console.WriteLine("OnDestroyAction"); + //BusSocket.Stop(); + //UserInfo.Current.unlockTime = DateTime.Now; + }; + + + HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider"); + + //Shared.Application.IsGpsEnable = true; + bool isfirst = true; + //鑾峰彇缁忕含搴� + Shared.Application.LocationAction = (lon, lat) => + { + try + { + if (isfirst) + { + //鍙Е鍙戜竴娆� + //Shared.Application.LocationAction = null; + new HDL_ON.DAL.Server.HttpServerRequest().GetCityWeatherInfo(lon.ToString(), lat.ToString()); + } + isfirst = false; + ///鐩戝惉缁忕含搴� + HDL_ON.UI.UI2.Intelligence.Automation.LogicMethod.CurrLogicMethod.AppLatAndLonEvent(lon, lat); + //鍏抽棴瀹氫綅鏈嶅姟 + //Shared.Application.StopGPSLocationService(); + } + catch (Exception ex) + { + Utlis.WriteLine("GetCityInfo catch" + ex.Message); + } + 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 checkSomeInfo() + { + try + { + IsShowTip = true; + var status = isNetworkAvailable(this); + int internetStatus = 0; + if (!status) + { + internetStatus = 0; + } + + var isWifi = isWifiConnected(this); + if (isWifi) + { + internetStatus = 2; + } + else + { + internetStatus = 1; + } + } + catch (Exception ex) + { + Console.WriteLine($"android check some info erorr : {ex.Message}"); + } + } + + 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; + } + } + + } \ No newline at end of file -- Gitblit v1.8.0