如何在程序中关闭自动亮度调节?

4

我想知道在iOS设备上是否有一种方法将“自动亮度”选项切换到关闭位置,如果有,它是什么?


1
如果没有,设置应用程序就无法完成它。所以是的,有的。 - user529758
1
@H2CO3 我认为这不是一个是/否问题。 - Alex Gordon
@АртёмЦарионов 不,绝对不是。对于造成的混淆,我表示歉意。 - David
@H2CO3 你知道我可以在哪里找到这样的方法吗?有没有具体的API或框架? - David
哦,还有,在有人开始争论之前:我没有给这个投票。我太累了,不想投票。 - user529758
显示剩余6条评论
5个回答

8

7

我没有权威证实(不能证明否定等),但这似乎不是苹果会赋予第三方应用程序修改权限的设置。当然,Settings.app 会进行修改,但这并不意味着有公共API可供使用。由于此帖子上没有 jailbreak 标记,我会假设提问者在询问公共API。我认为“你不能”。


你很细心,因为你知道我倾向于对没有免责声明的“这是不可能的!!!”帖子进行负评。很好的做法! - user529758
谢谢您的回复。实际上我是在提到公共API。 - David
看起来我错了!wantsSoftwareDimming 为胜利!(或者不是?) - ipmcc

1
Objective-C
[[UIScreen mainScreen] setBrightness:1.0];

这是可行的方法。是的,你可以通过编程实现它。只需传递0.0到1.0之间的值即可。根据苹果的规定,这是有效的,你不会遇到任何问题。

Swift 3+

UIScreen.main.brightness = CGFloat(1.0)

https://discussions.apple.com/thread/2009141?tstart=0


这并未回答原问题。 - Eric

1

但是如果您真的想要,您可以定期检查亮度,并在应用程序运行时将其调整到您希望的水平。


应该通过监听 brightnessDidChangeNotification 来完成。 - meaning-matters
这应该是做这件事的方法 @meaning-matters 我那时候不知道有这样的通知。 - Hope
请查看我的回复以了解如何实现此功能。 - Eric

1

根据Hope的回答,对于那些希望在屏幕自动调节亮度时得到通知的人:

func trackBrightness() {   
    // Track brightness changes
    NotificationCenter.default.addObserver(self, selector: #selector(brightnessDidChange), name: UIScreen.brightnessDidChangeNotification, object: nil)
}
    
@objc func brightnessDidChange() {
    let newBrightness = UIScreen.main.brightness
    // Do something
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接