Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

18sept/100

AIR pour Android – Empêcher la mise en veille de l'écran, pour application vidéo par ex.

L'API permet de modifier la mise en veille automatique de l'écran. En effet, la mise en veille de l"écran un téléphone est très rapide sur les environnements mobiles pour pouvoir économiser la batterie au maximum. Ainsi, si le système ne détecte aucune action utilisateur (tap ou touche), l'écran va se mettre en veille après environ 1 minute.

Ce comportement par défaut permet donc d'économiser la durée de vie de la batterie mais parfois, il va interrompre l'expérience utilisateur. L'exemple le plus courant est celui d'un player vidéo en Air. Si vous activez la lecture de la vidéo, l'utilisateur ne fera pas forcement d'action (tap) pendant la lecture. Il devrait donc rallumer le téléphone toutes les minutes ce qui peut devenir géant.

Pour ce genre d'application, Air propose une API indiquant au système qu'il ne doit pas éteindre l'écran. Il suffit d'utiliser la propriété "systemIdleMode" et de lui assigner une constante de la classe SystemIdleMode.

Une fois la vidéo lue, n'oubliez pas de repasser l'application dans un mode de mise en veille classique afin de ne pas drainer la batterie.

Code de démonstration

Stopper la mise en veille du mobile:

NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;

Remettre le système dans un mode normal:

NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.NORMAL;

Permissions Android

Pour pouvoir utiliser cette fonctionnalité, il vous faut ajouter une permission Android. Ainsi, lors de l'installation de l'application, l'utilisateur sera averti que l'application peut modifier le mode de mise en veille.

Pour rajouter ces permissions, modifiez le descripteur XML de votre application:

<android>
 <manifestAdditions>
  <![CDATA[
  <manifest>
   <uses-permission android:name="android.permission.WAKE_LOCK" />
   <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
  </manifest>
  ]]>
 </manifestAdditions>
</android>

Articles similaires

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Leave a comment

(required)

Aucun trackbacks pour l'instant