Кто-нибудь был в состоянии использовать [[UIScreen mainScreen] setBrightness] на фоне / выходе?
Похоже, что в iOS была ранее задокументированная (и сообщенная) ошибка (которая все еще существует в "последней iOS"), что означает, что вы можете использовать [[UIScreen mainScreen] setBrightness:x] после запуска приложения Вы не можете вызвать его в любое время во время фонового события (что означает, что вы не можете ВОССТАНОВИТЬ яркость до уровня, который был до запуска вашего приложения).
// Works as expected, screen dims
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"applicationDidBecomeActive");
// Dim the screen (works)
[[UIScreen mainScreen] setBrightness:0.2];
}
Но...
// Seems to fire if you double-tap the home key ('task manager' ;)
// Doesn't work
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"applicationWillResignActive");
[[UIScreen mainScreen] setBrightness:1.0];
}
Предпосылкой для этого является то, что я портирую свое успешное приложение Dock Clock с Android на iOS и теперь обнаружил, что не могу восстановить яркость экрана. Это явно ошибка, но мне было интересно, если кто-нибудь обнаружил обходной путь?
Вот очень простое тестовое приложение-прототип, которое доказывает ошибку:
1 ответ
Я не пытался восстановить его, когда мое приложение входит в фоновый режим... но я заметил, что оно будет восстановлено, когда вы заблокируете и разблокируете устройство.