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
|
{
|
/// <summary>
|
/// 设定为默认启动的Application
|
/// </summary>
|
[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();
|
}
|
/// <summary>
|
/// 所有初始化全部在这个方法实现
|
/// </summary>
|
void initAll()
|
{
|
//Locale locale1 = Locale.Default;
|
//var localeList = Resources.Configuration.Locale;
|
//if (localeList.Language == "zh")
|
//{
|
// Language.CurrentLanguage = "Chinese";
|
//}
|
|
string[] permissions = new string[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.RecordAudio,
|
Manifest.Permission.Camera, Manifest.Permission.ProcessOutgoingCalls, Manifest.Permission.GetAccounts};
|
|
var version = Build.VERSION.SdkInt + "";
|
Console.WriteLine("Build.VERSION.SdkInt : " + version);
|
|
//Android.Support.V4.App.ActivityCompat.RequestPermissions (BaseActivity., permissions, 321);
|
|
BaseActivity.IsHideVirualButtons = true;
|
init();
|
BaseActivity.OnCreateActoin += (activity, application) => {
|
|
BaseActivity.NetworkStateChanged += (int obj) => {
|
};
|
|
};
|
BaseActivity.RefreshUIAction += (activity) => {
|
MainPage.Show();
|
checkSomeInfo();
|
};
|
BaseActivity.OnResumeAction += (activity) => {
|
checkSomeInfo();
|
};
|
BaseActivity.OnDestroyAction += (activity) => {
|
Console.WriteLine("OnDestroyAction");
|
BusSocket.Stop();
|
};
|
}
|
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;
|
}
|
}
|
}
|