【Unity】Unity3D 移获取手机电量与wifi信号的获取

来源:互联网 发布:sql 数据挖掘分析 编辑:程序博客网 时间:2024/04/29 21:08
移动端游戏中无法看到电量与wifi信号对于玩家来说是很困扰的事。
关于这个问题安卓与iOS有不同的方法

电量

安卓

安卓获取电量有两种方法,一种是读取安卓手机里的一个文件,一种是利用安卓与Unity互发消息的方式
读取文件虽然方便,但是咱们不保证哪天厂商把这个文件换个位置咱们就读取不到了
  • 方法一

参考:http://www.cnblogs.com/BobbyWeaver/p/5118118.html
读取安卓手机中的文件,代码如下:
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;        }    }    
  • 方法二

与安卓交互的方式,这种方式不仅仅能获取电量、wifi、还能控制手机震动、重启、调用第三方应用等等安卓功能
参考:http://www.cnblogs.com/wuzhang/p/wuzhang20170318.html

iOS

在论坛上看到一种解决方法就是利用与iOS交互的方式,用一个.mm文件写一个获取iOS电量的方法,亲测可用
参考:https://forum.unity3d.com/threads/display-battery-level-in-game.67804/
关于调用iOS库的方法可以参考:http://blog.sina.com.cn/s/blog_923fdd9b0102v2a8.html

wifi

方法一

安卓与iOS都要用上面的平台与Unity交互的方法

方法二

客户端与服务器发心跳包的方式来模拟。


原创粉丝点击