/***
*
* Title: MXFramework
* 主题: 获取设备信息
* Description:
* 功能:1.获取系统时间
* 2.获取设备电量
* 3.获取网络状态
* 4.获取设备权限
* Date: 2020
* Version: v4.0版本
* Modify Recoder:
*
*/
using System;
using UnityEngine;
namespace Mx.Util
{
/// <summary>获取设备信息</summary>
public class DeviceInfo
{
#region 获取系统时间
public static string GetTime()
{
string times = null;
DateTime now = DateTime.Now;
times = (now.Hour > 12) ? now.ToString("hh:mm") + " AM" : now.ToString("hh:mm") + " PM";
return times;
}
#endregion
#region 获取网络状态
/// <summary>获取网络状态</summary>
public static EnumNetWorkState GetNetWorkState()
{
EnumNetWorkState enumNetworkStatus = EnumNetWorkState.None;
//网络不可用状态
if (Application.internetReachability == NetworkReachability.NotReachable)
{
enumNetworkStatus = EnumNetWorkState.No;
}
//当用户使用WiFi时
else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
{
enumNetworkStatus = EnumNetWorkState.Wif;
}
//当用户使用移动网络时
else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
{
enumNetworkStatus = EnumNetWorkState.Mobile;
}
return enumNetworkStatus;
}
/// <summary>获取网络是否开启</summary>
public static bool GetNetWorkIsOpen()
{
EnumNetWorkState netWorkState = GetNetWorkState();
return (netWorkState == EnumNetWorkState.Mobile || netWorkState == EnumNetWorkState.Wif);
}
#endregion
#region 获取电量
/// <summary>
/// 获取电量
/// </summary>
/// <returns>The battery level.</returns>
public static float GetBatteryLevel()
{
float floatBatteryLevel = (float.Parse(SystemInfo.batteryLevel.ToString())) * 100;
return floatBatteryLevel;
}
#endregion
#region 获取权限
/// <summary>
/// 获取是否拥有权限(麦克风/相机)
/// </summary>
/// <param name="userAuthorization">相机/麦克风</param>
public static bool GetUserAuthorization(UserAuthorization userAuthorization)
{
return Application.HasUserAuthorization(userAuthorization);
}
#endregion
}
/// <summary>网络状态类型</summary>
public enum EnumNetWorkState
{
/// <summary>未知错误</summary>
None = -1,
/// <summary>没有网络</summary>
No,
/// <summary>Wif网络</summary>
Wif,
/// <summary>移动网络</summary>
Mobile,
}
}