Unity3D移动端电量与wifi信号的获取

移动端游戏中无法看到电量与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
 
 
 
posted @ 2017-07-30 14:58  战狼96  阅读(1366)  评论(0编辑  收藏  举报