如何检测iPhone设备处于低电量模式

2019-04-13 11:41发布

在iOS9中,苹果为iPhone增加了低电量模式,开启低电量模式后,系统会为了节约电量而停止一些耗电的行为,例如接收邮件,通过Hey Siri唤起,后台消息推送等。 很重要的一点是系统不会为用户自动打开低电量模式,而是由用户自己去决定是否进入低电量模式,进入低电量模式后状态栏中的电池会变为黄 {MOD}: image 当你充电量达到80%时会自动关闭低电量模式。

检测低电量模式

在iOS9里面你可以通过如下方法得知当前设备是不是处于低电量模式: 1 2 3 4 5 // Objective-C if ([[NSProcessInfo processInfo] isLowPowerModeEnabled]) { // stop battery intensive actions } 并且你可以通过注册NSProcessInfoPowerStateDidChangeNotification通知来检测低电量模式的变化: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // Objective-C [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangePowerMode:) name:NSProcessInfoPowerStateDidChangeNotification object:nil]; // Objective-C - (void)didChangePowerMode:(NSNotification *)notification { if ([[NSProcessInfo processInfo] isLowPowerModeEnabled]) { // low power mode on } else { // low power mode off } }
注意:
  1. 该通知和lowPowerModeEnabled只有在iOS9里面才有,支持iOS8的App需要自己在代码里面判断。
  2. 低电量模式是iPhone设备独有的,在iPad里面会返回false。
开启低电量模式后,我们需要采取一些措施去节约电量,比如Apple给的一些建议:
  • 停止定位位置更新。
  • 限制动画的使用。
  • 限制后台的网络请求。
  • 关闭motion effects
参考【链接

如何检测iPhone设备处于低电量模式

如何检测iPhone设备处于低电量模式