首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编程检测iOS中的背光?

如何编程检测iOS中的背光?
EN

Stack Overflow用户
提问于 2012-08-06 18:06:37
回答 2查看 1.1K关注 0票数 2

我想要的iOS代码,可以显示屏幕是否亮,以便我的应用程序可以监测电池耗电量,因为(缺电)背光活动。这段代码必须只使用公共API,因为我打算最终将应用程序提交到app。

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

代码语言:javascript
运行
复制
-(BOOL)isBackLightOn {
    float brightness = [UIScreen mainScreen].brightness;
    return brightness > 0;
}

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

苹果显然有办法确定这一价值,因为它包含在能源诊断中,可以在仪器中看到(例如,见记录iOS设备中的能量使用情况),但也许这种测量没有通过公共API公开?

EN

回答 2

Stack Overflow用户

发布于 2012-08-06 18:19:51

有一个问题可能对你有帮助,那就是:

改变背光水平,iPhone

看来,如果你把这包括在内:

代码语言:javascript
运行
复制
#include "GraphicsServices.h"

然后用这样的方法:

代码语言:javascript
运行
复制
NSNumber *bl = (NSNumber*) CFPreferencesCopyAppValue(CFSTR("SBBacklightLevel" ), CFSTR("com.apple.springboard"));
float previousBacklightLevel = [bl floatValue];

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

票数 0
EN

Stack Overflow用户

发布于 2013-01-04 07:14:45

首先,我尝试了@Flipper的回答,但这对我没有多大帮助,然后我在这方面进行了研发,并找到了下面代码的解决方案。

代码语言:javascript
运行
复制
    NSLog(@"%f", [[[NSMutableDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.apple.springboard.plist"] objectForKey:@"SBBacklightLevel2"] floatValue]);

它给了我浮点值,设备的当前亮度

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11833557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档