Non standard
Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.
Cette API est disponible sur Firefox OS pour des applications certifiées seulement.
Summary
L'API Idle est utilisée pour notifier une application lorsque l'utilisateur est inactif. Cela permet à une application d'intervenir lorsque l'utilisateur ne fait rien avec son appareil. Le cas d'utilisation le plus courant consiste à économiser la batterie; dans ce cas, Il est couramment utilisé en conjonction avec le Power Management API.
Surveiller un utilisateur inactif
Quand une application veut être averti de l'inactivité du système, elle doit inscrire un idle observer. Un idle observer est un objet composé de trois propriétés :
- Une propriété
time
qui définit le temps, exprimé en secondes, qui doit passer après la dernière action de l'utilisateur avant que l'utilisateur est considéré comme inactif. - Une propriété
onidle
, qui est une fonction appelée lorsque l'utilisateur est considéré comme inactif. - Une propriété
onactive
, qui est une fonction appelée lorsque l'utilisateur redevient actif.
Exemple: diminuer la luminosité de l'écran lorsque l'utilisateur est inactif
Dans cet exemple, un observateur idle est mis en place pour réduire la luminosité de l'écran à 50 % lorsque l'utilisateur est inactif pendant 10 secondes et le restaurer à 100 % lorsque l'utilisateur est de nouveau actif. Un deuxième observateur est mis en place pour éteindre l'écran lorsque l'utilisateur est inactif pendant au moins 15 secondes.
// REMARQUE: mozPower fait partie de l'API de gestion de puissance (Power Management API) var fadeLight = { time: 10, // 10 secondes onidle: function () { // L'utilisateur ne semble pas actif, nous allons diminuer la luminosité de l'écran navigator.mozPower.screenBrightness = 0.5; }, onactive: function () { // OK, l'utilisateur est de retour, nous allons ré-éclairer l'écran navigator.mozPower.screenBrightness = 1; } } var screenOff = { time: 15, // quinze seconds onidle: function () { // OK, l'utilisateur a eu sa chance, mais il est vraiment inactif, nous allons désactiver l'écran navigator.mozPower.screenEnabled = false; }, onactive: function () { // OK, l'utilisateur est de retour, nous allons allumer l'écran navigator.mozPower.screenEnabled = true; } } // Enregistrer les observateurs inactifs navigator.addIdleObserver(fadeLight); navigator.addIdleObserver(screenOff);
Ce code définit deux objets idle observer : fadeLight
et screenOff
, puis appelle navigator.addIdleObserver()
une fois pour chacun d'eux afin de les enregistrer dans le système. Les applications peuvent mettre en place autant d'observateurs inactif que nécessaire.
Si l'application n'a plus besoin de surveiller l’inactivité de l'utilisateur, il peut enlever les observateurs en appelant la méthode navigator.removeIdleObserver()
, comme indiqué ci-dessous :
navigator.removeIdleObserver(fadeLight); navigator.removeIdleObserver(screenOff);
Spécification
Ne fait partie d'aucune spécification pour le moment ; cependant, cette API sera discutée au W3C dans le cadre de la System Applications Working Group.