在说小游戏的电量监听事件之前,我想先提一下小程序的电量监听事件。
在微信小程序中,是没有电量监听事件的,因为小程序没有全屏,手机端的电量和wifi等信息一直可以看得到,所以小程序里就没有这样的api了。
说回小游戏的电量监听,在微信小游戏的api里,有三个api可以获取到手机电量:
一:wx.getSystemInfo
二:wx.getBatteryInfo
三:wx.getBatteryInfoSync
getSystemInfo:
在getSystemInfo里的回调函数success的参数res中,res.battery是代表电量的,我们可以用来设置界面上的电量显示。
另外,虽然小程序中也有getSystemInfo,但是小程序的getSystemInfo和小游戏的getSystemInfo是不一样的(这在前文中提到过)。
所以,小程序中的getSystemInfo的success的res没有battery属性。
getBatteryInfo:
但是,我们如果只需要设置电量值的话,只需要用getBatteryInfo就可以了。因为getBatteryInfo除了有电量值level,还有isCharging这个属性,所以getBatteryInfo相对来说更专业。
getBatteryInfoSync:
getBatteryInfoSync是getBatteryInfo的同步版本,顾名思义,这个api是需要同步的,所以可能会对游戏造成一定的卡顿;而且,这个api在iOS上是不可用的。
最后,以上几个api都是只获取一次电量的值,所以我们在程序中需要做一个计时器以在固定的时间去获取电量值,这样才能保证实时更新电量。