移动端游戏中无法看到电量与wifi信号对于玩家来说是很困扰的事。
关于这个问题安卓与iOS有不同的方法
电量
安卓
安卓获取电量有两种方法,一种是读取安卓手机里的一个文件,一种是利用安卓与Unity互发消息的方式
读取文件虽然方便,但是咱们不保证哪天厂商把这个文件换个位置咱们就读取不到了
-
方法一
读取安卓手机中的文件,代码如下:
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交互的方法
方法二
客户端与服务器发心跳包的方式来模拟。
by:wolf96 2017/7/8