zoukankan      html  css  js  c++  java
  • Unity获取手机的电量时间

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class GetTimeAndBattery : MonoBehaviour
    {
    
    
        public Text Power;
        public Text TimePhone;
        public Text NetworkText;
        public Image NetImage;
        string _time = string.Empty;
        string _battery = string.Empty;
    
        void Start()
        {
            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 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;
        }
        //更新技能时间
        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 new WaitForSeconds(60f);
            }
        }
        //更新手机状态
        IEnumerator UpdateNetwork()
        {
            while (true)
            {
                GetNetWoker();
                yield return new WaitForSeconds(300f);
            }
        }
        void GetNetWoker()
        {
            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";
    
                }
    
            }
    
        }
    }

    参考博客地址:https://blog.csdn.net/ldy597321444/article/details/78029675

    使用Java接入安卓的SDK 获取手机的信息:http://www.cnblogs.com/wuzhang/p/wuzhang20170318.html

    有的手机电量无法获取,所以研究新的方法中。待更新。

     代码:

  • 相关阅读:
    10-22 训练 T2 plate
    C语言I博客作业03
    c语言I博客作业02
    数学的数字
    javascript 递归
    WEB 动画的一些实现方式
    javascript 中Object一些高效的操作方法
    javascript 中Array一些高效的操作方法
    mac os 的一些命令
    javascript 继承
  • 原文地址:https://www.cnblogs.com/shuanglu/p/8867341.html
Copyright © 2011-2022 走看看