2009-07-21 19 views
8

Je ai écrit une application J2ME qui utilise Bluetooth et rechercher un fichier dans le mobile homologue et le télécharger. Je voudrais que mon application fonctionne en arrière-plan, chaque fois que j'obtiens un appel, ou un message et que je reprends plus tard après quelques secondes. Est-ce que quelqu'un a travaillé sur cela s'il vous plaît partager votre expérience. Y a-t-il un moyen d'exécuter un Midlet en arrière-plan?Comment faire fonctionner une application J2ME en arrière-plan?

+0

il y a déjà http://stackoverflow.com/questions/1084384/how-do-i-minimize-a-j2me-app –

Répondre

10

pour définir une application J2ME à l'arrière-plan utiliser les éléments suivants dans votre classe MIDlet:

  Display.getDisplay (this).setCurrent (null); 

pour obtenir l'écran, utilisez de nouveau les éléments suivants:

  Display.getDisplay (this).setCurrent (myCanvas); 

Où myCanvas est votre toile instanciation

R

ps Vous pouvez toujours utiliser un thread ou une minuterie pour faire des choses en arrière-plan pendant que votre midlet est caché.

p.2: cela ne fonctionne pas sur tous les modèles. (Fonctionne sur Nokia s60, SonyEricsson, mais pas sur Nokia s40, Samsung et autres ..

2

La capacité d'un programme à exécuter une application en arrière-plan dépend de sa capacité à effectuer plusieurs tâches en même temps. plus susceptibles de soutenir l'exécution d'arrière-plan que les dispositifs à faible coût pour en arrière-plan: -.

private Display display = Display.getDisplay(this); 
private Displayable previousDisplayable; 

public void toBack() { 
previousDisplayable = display.getCurrent(); 
display.setCurrent(null); 
} 

Et à venir Fore terrain: -

public void toFront() { 
display.setCurrent(previousDisplayable); 
} 

Mais sachez qu'il ne soutient pas tous les appareils. (Fonctionne sur Nokia s60, SonyEricss sur, mais pas sur Nokia s40, Samsung et quelques autres).