1. 程式人生 > >Unity3D移動端電量與wifi信號的獲取

Unity3D移動端電量與wifi信號的獲取

ios 位置 wol file arp zhang logs code cit

移動端遊戲中無法看到電量與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交互的方法

方法二

客戶端與服務器發心跳包的方式來模擬。 by:wolf96 2017/7/8

Unity3D移動端電量與wifi信號的獲取