Skip to content


Auto Reloading a Flex Application

I have a flex application which runs on a touch screen and I want to have the application reset itself when no one is using it.

To get this done I created a Timer that would reload my Flex app every 5 minutes and an event listener which would reset the timer everytime someone touched the screen (or clicked the app).

Example below.

AppTimer.as ActionScript Class File

package{  import flash.events.Event;  import flash.events.TimerEvent;  import flash.utils.Timer;  import flash.net.URLRequest;  import flash.net.navigateToURL;

  public class AppTimer  {   // Create Time Object to fire every minute for 5 minutes   public var myTimer:Timer = new Timer(60000,5);

      public function AppTimer()      {          // designates listeners for the completion event          myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);

          // starts the timer ticking          myTimer.start();      }

      // Function restarts the timer.      public function resetTimer():void      {       myTimer.reset();       myTimer.start();      }

      // Function gets called when timer runs out. Reloads the page      public function onTimerComplete(evt:Event):void      {    var ref:URLRequest = new URLRequest("javascript:location.reload(true)");    navigateToURL(ref, "_self");       }

  }}

Main.MXML File

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*" creationComplete="initApp()">  <mx:Script>  <![CDATA[

  // Creates the AppTimer Object  public var myTimer:AppTimer = new AppTimer();

  // Function to run when app is created  private function initApp():void  {   // Add Event listner to track mouse clicks   application.addEventListener(MouseEvent.CLICK, globalClickEvent);       }

  // Everytime a user clicks in the applicatoin run this function.  private function globalClickEvent(event:MouseEvent):void  {   myTimer.resetTimer(); // Call timer reset function  }

  ]]> </mx:Script> <mx:Panel width="100%" height="100%" title="My App with Timer"/></mx:Application>

If anyone knows a better way to accomplish the same task I would be interested to hear about it.

Posted in Actionscript, Code.

Tagged with , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Anonymous says

    I’m wondering if theres a better way to restart the app witout using navigateToURL.

    Unforturnately if the app is embeded in an html page, that approach doesnt work too well.



Some HTML is OK

or, reply to this post via trackback.



close