unity获取手机电量信息

前段时间项目需要做一个获取手机电量信息的功能,我首先得想法是通过android获取后传到unity里面这样来做,但是在无意间发现一篇文章,里面是直接在unity里面获取的,这样无疑简单了方便了很多,要是这样的方法有什么弊端的话,还请大家指出哦。话不多说,直接上代码:

using UnityEngine;
using System.Collections;
using System;


public class BatteryAndTime : MonoBehaviour
{
    string _time = string.Empty;
    string _battery = string.Empty;


    void Start()
    {
        StartCoroutine("UpdataBattery");
    }


    void OnGUI()
    {
        GUILayout.Label(_battery, GUILayout.Width(100), GUILayout.Height(100));
    }


    IEnumerator UpdataBattery()
    {
        while (true)
        {
            //此处的battery是一个百分比数字,比如电量是93%,则这个数字是93
            _battery = GetBatteryLevel().ToString();
            print("battery::::" + _battery);
            yield return new WaitForSeconds(300f);
        }
    }


    int GetBatteryLevel()
    {
        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;
    }
}

另外需要指出的是这里需要哦打包到手机上运行才有效果哦!!

猜你喜欢

转载自blog.csdn.net/u014417405/article/details/52764419