gpt4 book ai didi

objective-c - 如何以编程方式检测 iOS 中是否开启背光?

转载 作者:行者123 更新时间:2023-12-01 16:55:56 27 4
gpt4 key购买 nike

我想要可以显示屏幕是否亮起的 iOS 代码,以便我的应用程序可以监控由于(耗电)背光事件而导致的电池电量消耗。此代码必须仅使用公共(public) API,因为我打算最终将应用程序提交到 App Store。

最初我认为这可能只是检查 brightness 的问题。 UIScreen 的属性,如下所示:

-(BOOL)isBackLightOn {
float brightness = [UIScreen mainScreen].brightness;
return brightness > 0;
}

但这是 不正确 因为 [UIScreen mainScreen].brightness表示用户在设置->亮度界面中选择的 slider 值, 不是 屏幕的当前光输出。

Apple 显然有办法确定这个值,因为它包含在可以在 Instruments 中查看的能量诊断中(例如,参见 Logging Energy Usage in an iOS Device),但也许这个测量值没有通过公共(public) API 公开?

最佳答案

一个可能对您有所帮助的问题是:

Changing Backlight Level, iPhone

似乎如果你包括这个:

#include "GraphicsServices.h"

然后使用这样的东西:
NSNumber *bl = (NSNumber*) CFPreferencesCopyAppValue(CFSTR("SBBacklightLevel" ), CFSTR("com.apple.springboard"));
float previousBacklightLevel = [bl floatValue];

应该给你背光级别。请记住,屏幕总是会有某种形式的背光。

关于objective-c - 如何以编程方式检测 iOS 中是否开启背光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11833557/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com