Les téléphones sont faits pour réduire leur consommation au maximum afin de garder le plus de batterie possible.
Ce qui entraîne la mise en veille de l’écran au bout d’un certain temps.
Mais dans le cas d’une application, cette mise en veille est des fois pénible pour l’utilisateur.
Heureusement il existe une solution pour empêcher cette veille !
Le plugin :
Et la solution est tout simplement un plugin Cordova : org.chromium.power
Vous pouvez le trouver parmi la liste des plugins du site Cordova, ou à l’adresse suivante:
http://plugins.cordova.io/#/package/org.chromium.power
Utilisation :
Pour installer le plugin, la méthode est la même que pour tous les plugins :
cordova plugin add org.chromium.power
Pour ensuite utiliser ce plugin, 2 méthodes sont mises à disposition :
- requestKeepAwake
- releaseKeepAwake
Pour garder l’application éveillée, ou empêcher la veille de l’application, il suffit d’appeler la première :
chrome.power.requestKeepAwake('display');
Cette méthode prend en paramètre le niveau de désactivation de la veille :
- system : permet de garder le système actif mais autorise l’écran à s’éteindre (par exemple une application de communication doit continuer à fonctionner même si l’écran est éteint)
- display : permet de garder le système ET l’écran actifs et donc d’empêcher la mise en veille.
Vous pouvez par exemple appliquer cette configuration dans la méthode “onDeviceReady” de votre application Cordova :
function onDeviceReady() { // keep screen light on chrome.power.requestKeepAwake('display'); } function onLoad() { document.addEventListener('deviceready', onDeviceReady, false); }
Pour remettre l’application dans son état initiale (qui se remet en veille automatiquement), il faut ensuite appeler la méthode suivante :
chrome.power.releaseKeepAwake();
Cette méthode n’est pas indispensable si votre paramètre est “display” car il sera utilisé tant que votre application est active et désactivé à la fermeture de votre application.
Que la lumière soit! Et la lumière fut.