From 3055ac3c5a7a18db21f2adc6a36f68ae0fd708c2 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 06 五月 2022 14:48:58 +0800
Subject: [PATCH] 定制
---
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..e5c0d5a 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)
+ {
+ ////鎵撳紑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
+ {
+ ////鎵撳紑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);
+
+ };
+
+ //鍒濆鍖栧弸鐩焥dk
+ Com.Hdl.Umsdk.UmSdk.InitUmSdk(this, "61d565d9e0f9bb492bbc3d5a", "Android");
+ //鍒濆鍖栧弸鐩焥dk config
+ Com.Hdl.Umsdk.UmSdk.InitUMConfigure(this, "61d565d9e0f9bb492bbc3d5a", "Android", "");
+
+ }
+
+ /// <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 if(localeList.Language == "es")
+ {
+ Language.CurrentLanguage = "Spanish";
+ }
+ 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().Replace(",", "."), lat.ToString().Replace(",", "."));
+ }
+ 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