usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;public classGetTimeAndBattery : MonoBehaviour
{publicText Power;publicText TimePhone;publicText NetworkText;publicImage NetImage;string _time = string.Empty;string _battery = string.Empty;voidStart()
{
StartCoroutine("UpdateBattery");
StartCoroutine("UpdateTime");
StartCoroutine("UpdateNetwork");//识别手机使用的网络//Handheld.Vibrate();//调用手机振动。
}
IEnumerator UpdateBattery()
{while (true)
{//此处的battery是一个百分比数字,比如电量是93%,则这个数字是93
_battery =GetBatteryLevel().ToString();
print("battery::::" +_battery);
Power.text= _battery + "%";yield return newWaitForSeconds(300f);
}
}intGetBatteryLevel()
{try{//不适用于华为
string CapacityString = System.IO.File.ReadAllText("/sys/class/power_supply/battery/capacity");return int.Parse(CapacityString);
}catch(Exception e)
{
Debug.Log("Failed to read battery power;" +e.Message);
}return -1;
}//更新技能时间
IEnumerator UpdateTime()
{
DateTime now=DateTime.Now;
TimePhone.text= string.Format("{0}:{1}", now.Hour, now.Minute);yield return new WaitForSeconds(60f -now.Second);while (true)
{
now=DateTime.Now;
TimePhone.text= string.Format("{0}:{1},", now.Hour, now.Minute);yield return newWaitForSeconds(60f);
}
}//更新手机状态
IEnumerator UpdateNetwork()
{while (true)
{
GetNetWoker();yield return newWaitForSeconds(300f);
}
}voidGetNetWoker()
{if (Application.internetReachability == NetworkReachability.NotReachable)//网络不可用
{
NetImage.CrossFadeAlpha(1, 1, false);if(NetworkText) {
NetworkText.enabled= false;
}
NetImage.color=Color.red;
}else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)//wifi在线
{
NetImage.CrossFadeAlpha(1, 1, false);if(NetworkText) {
NetworkText.enabled= false;
}
NetImage.color=Color.white;
}else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)//4G在线
{
NetImage.CrossFadeAlpha(0, 1,false);if(NetworkText) {
NetworkText.enabled= true;
NetworkText.text= "4G";
}
}
}
}