2010-12-04 48 views
2

Comment arrêter l'exécution de midlet de j2me pour une durée déterminée?Comment arrêter l'exécution de midlet de j2me?

+0

avez-vous regardé au midlet en pause? –

+1

MIDlet est mis en pause par AMS, en réponse à des événements externes au MIDlet. La pause ne peut pas être initiée par le MIDlet. –

Répondre

3

Le cycle de vie du MIDlet est entièrement contrôlé par le logiciel AMS résidant sur le téléphone. Ainsi, toute installation liée à l'exécution de MIDlet doit être demandée au logiciel AMS. Pour la situation particulière que vous décrivez est pris en charge par Push Registry.

Vous pouvez utiliser registerAlarm en spécifiant le qualifié complet nom de classe du MIDlet et le temps (en milli secondes) auquel l'application doit être relancée. Notez que ceci est temps absolu. La façon dont cela fonctionne est la suivante:

  1. Dans votre application, enregistrez l'alarme avec l'heure à laquelle l'application doit se réveiller. Par exemple, vous souhaitez que l'application soit lancée après 10 minutes. Ensuite, les arguments doivent être com.yourcompany.app.AppMIdlet, Date(). GetTime() + 600000.
  2. Maintenant, quittez l'application. Avoir une tasse de bière pendant que vous attendez 10 minutes
  3. Boom! Lancements d'applications après 10 minutes.
  4. Profit!

Remarque: Il s'agit d'une API protégée et il est possible que l'application DOIT être signée pour pouvoir l'utiliser. La plupart des téléphones permettraient avec une invite de sécurité; Cependant, il y en a peu qui ne le font pas. Cela dépend de la politique définie par le fabricant et l'opérateur. Donc, attraper les exceptions de sécurité correctement; sinon, vous serez étonné que cette application échoue silencieusement.

Références:

  1. [Push l'alarme de registre de registre, spécifications API] [1]
  2. A very thorough treatise of Push Registry

    [1]: http://download.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/io/PushRegistry.html#registerAlarm(java.lang.String, longue)