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