1

当应用程序处于前台时,Apple 钱包会设置全亮度。当应用程序进入后台或终止时,它将重置为正常亮度。

我想用我的应用程序实现相同的功能。

我尝试[[UIScreen mainScreen] setBrightness:1.0]; 让应用程序所做的亮度更改保持有效,直到设备被锁定。

如果我的应用程序处于前台模式,我想设置全亮度,否则亮度将重置为以前的亮度级别。

4

1 回答 1

2

这一切最终都不起作用,请参阅编辑

如果您所做的是在打开应用程序时设置高亮度,然后在存在时恢复以前的亮度,您可以执行以下操作AppDelegate

添加一个CGFloat previousBrightness

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    previousBrightness = [[UIScreen mainScreen] brightness];

    [[UIScreen mainScreen] setBrightness:1.0];

    return YES;
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [[UIScreen mainScreen] setBrightness:previousBrightness];
}

编辑 :

经过一番研究,我发现iOS中实际上存在一个错误,阻止您在退出应用程序后更改亮度。该错误自 iOS 4 以来已报告,并且在我尝试在 iOS 8 上时似乎没有得到解决,但它仍然无法正常工作......

有关该错误的更多信息,请参阅Apple 开发论坛上的此线程。

您唯一能做的就是为您需要的单个步骤设置全亮度,并在用户不再需要时重置。例如,在许多应用程序中,我们在查看 QR-Code 时具有全亮度,然后在单击十字“X”退出时恢复到以前的亮度。

您可能需要以某些方式重新考虑您的应用程序,但在用户单击主页按钮后您将无法恢复亮度。

于 2016-06-23T08:28:45.657 回答