博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity获取手机的电量时间
阅读量:4670 次
发布时间:2019-06-09

本文共 2954 字,大约阅读时间需要 9 分钟。

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

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

 代码:

 

转载于:https://www.cnblogs.com/shuanglu/p/8867341.html

你可能感兴趣的文章
1.pyhon入门
查看>>
解题:POI 2008 Station
查看>>
JAVA开发第一步——JDK 安装
查看>>
javascript 原生事件综合查询
查看>>
[视频]产品营销之拍出好电子产品,Peter Belanger是如何为苹果产品拍照的
查看>>
PAT 1019. General Palindromic Number
查看>>
[Leetcode] Sudoku Solver
查看>>
在web项目启动时,使用监听器来执行某个方法
查看>>
前端笔试题【1】--从字符串的第二个字符开始对数组进行排序
查看>>
html 标签总结
查看>>
netstat 查看端口
查看>>
tcp关闭连接:挥手讨论
查看>>
Game HDU - 5242 树链思想
查看>>
结构模式--之--享元模式
查看>>
Solr文档
查看>>
c++文件結束符
查看>>
开发规范
查看>>
轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)
查看>>
body属性文本标记和排版标记
查看>>
设计模式教程(Design Patterns Tutorial)笔记之一 创建型模式(Creational Patterns)...
查看>>