using System; using Android; using Android.Content; using Android.Net; using Android.OS; using HDL_ON; using Java.Util; using Shared; namespace HDL_ON_Android { /// /// 设定为默认启动的Application /// [Android.App.Application] public class Application : Android.App.Application { 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() { if (Shared.Application.Activity != null) { reStartApp(this); return; } base.OnCreate(); initAll(); } /// /// 所有初始化全部在这个方法实现 /// void initAll() { string[] permissions = new string[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.RecordAudio, Manifest.Permission.Camera, Manifest.Permission.ProcessOutgoingCalls, Manifest.Permission.GetAccounts}; BaseActivity.IsHideVirualButtons = true; init(); BaseActivity.OnCreateActoin += (activity, application) => { Language.CurrentLanguage = "Chinese"; Locale locale1 = Locale.Default; var localeList = Resources.Configuration.Locale; if (localeList.Language == "zh") { Language.CurrentLanguage = "Chinese"; } BaseActivity.NetworkStateChanged += (int obj) => { }; }; BaseActivity.RefreshUIAction += (activity) => { MainPage.Show(); checkSomeInfo(); }; BaseActivity.OnResumeAction += (activity) => { checkSomeInfo(); }; BaseActivity.OnDestroyAction += (activity) => { Console.WriteLine("OnDestroyAction"); BusSocket.Stop(); }; HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider"); } public static bool IsShowTip = true; void init() { //手机名称 Android.OS.Build.Manufacturer; } 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; } } }