我想要可以显示屏幕是否亮起的 iOS 代码,以便我的应用程序可以监控由于(耗电)背光活动而导致的电池电量消耗。此代码必须仅使用公共 API,因为我打算最终将应用程序提交到 App Store。
最初我认为这可能只是检查UIScreen的亮度属性的问题,如下所示:
-(BOOL)isBackLightOn {
float brightness = [UIScreen mainScreen].brightness;
return brightness > 0;
}
但这是不正确的,因为它[UIScreen mainScreen].brightness
代表的是用户在 Settings->Brightness 屏幕中选择的滑块的值,而不是屏幕的当前光输出。
Apple 显然有办法确定这个值,因为它包含在可以在 Instruments 中查看的能源诊断中(例如,请参阅Logging Energy Usage in an iOS Device),但也许这个测量没有通过公共 API 公开?