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

13sept/100

AIR pour Android – Détecter une sortie d'application avec Event.ACTIVATE / Event.DEACTIVATE

Pour certaines rainsons fonctionnelles, vous aurez peut-être besoin de savoir lorsque l'utilisateur a quitté votre application pour retourner sur l'écran d'acceuil. Vous voulez peut-être aussi savoir quand il vient de revenir de l'écran d'accueil et qu'il arrive à nouveau sur votre application (afficher une notification etc…).

Vous pouvez déterminer ces instants par les évènements de base (aussi valable en Flex Web quand l'application perd le focus) Event.ACTIVATE et Event.DEACTIVATE.

Il suffit d'écouter ces évènements sur la propriété "stage" de votre application, au moins après l'évènement APPLICATION_COMPLETE.

Notez que vous pouvez effectuer des actions juste avant que l'application ne revienne sur le home screen (désactiver des éléments, ralentir le rafraichissement, …). De manière automatique, l'application se met "en veille" lorsqu'elle n'a pas le focus. Dans ce mode-là, elle est jouée à 4fps sauf si une vidéo est jouée. Si une vidéo se trouve dans l'application, celle-ci continuera à fonctionner de manière normale, même en arrière-plan.

Code de démonstration

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" paddingLeft="0" paddingRight="0"
                paddingTop="0" paddingBottom="0"
                applicationComplete="application1_applicationCompleteHandler(event)">
  <mx:Style>
    global {
      font-size: 24;
    }
  </mx:Style>
  <mx:Script>
    <![CDATA[
      import mx.events.FlexEvent;

      /**
       *
       */
      protected function application1_applicationCompleteHandler(event:FlexEvent):void {
        this.stage.addEventListener(Event.ACTIVATE, onActivate);
        this.stage.addEventListener(Event.DEACTIVATE, onDeactivate);
      }

      public function onActivate(event:Event):void {
        showInfo("Activate");
      }

      public function onDeactivate(event:Event):void {
        showInfo("Deactivate");
      }

      private function showInfo(text:String):void {
        log.text += text + "\n";
      }
    ]]>
  </mx:Script>
  <mx:ApplicationControlBar left="0" right="0" bottom="0" height="80" paddingTop="8" paddingLeft="8"
                            paddingBottom="8" paddingRight="8" horizontalGap="8" verticalGap="8"
                            dock="true">
    <mx:Box>
      <mx:Label text="Listens Activate/Deactivate" />
      <mx:Label text="Exit the application with HOME" />
    </mx:Box>
  </mx:ApplicationControlBar>
  <mx:TextArea id="log" backgroundColor="white" width="100%" height="100%" enabled="false" />
</mx:Application>

Télécharger le projet au format FXP

Télécharger l'application au format APK

Articles similaires

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Leave a comment

(required)

Aucun trackbacks pour l'instant