4 votes

Quelqu'un a-t-il pu utiliser [[UIScreen mainScreen] setBrightness] sur le fond / la sortie ?

Il semble qu'il y ait un bogue précédemment documenté (et signalé) dans iOS (qui semble toujours exister dans la "dernière version d'iOS") qui signifie que si vous pouvez utiliser [[UIScreen mainScreen] setBrightness:x] une fois que l'application a démarré, vous ne pouvez pas l'appeler à n'importe quel moment pendant l'événement d'arrière-plan (ce qui signifie que vous ne pouvez pas RESTAURER la luminosité au niveau où elle était avant le démarrage de votre application).

// Works as expected, screen dims
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"applicationDidBecomeActive");

    // Dim the screen (works)
    [[UIScreen mainScreen] setBrightness:0.2];
}

Mais...

// 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];
}

Je suis en train de transférer mon application Dock Clock d'Android à iOS et j'ai découvert que je ne pouvais pas rétablir la luminosité de l'écran. Il s'agit manifestement d'un bogue, mais je me demandais si quelqu'un avait trouvé une solution de contournement ?

Voici un prototype d'application de test très simple qui prouve le bug :

https://github.com/philask/Dockclock-iOS

1voto

Malek_Jundi Points 3843

Je n'ai pas essayé de le restaurer lorsque mon application entre en arrière-plan mais je remarque qu'il sera restauré lorsque vous verrouillez et déverrouillez l'appareil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X