Question

I have a written a J2ME application which uses Bluetooth and search a file within the peer mobile and download it. I would like to make my application run in background , whenever I get a call , or message and later resume after few seconds , Has anybody worked on this please share your experience . Is there any way to run a Midlet in background ?

Was it helpful?

Solution

to set a j2me app to the background use the following in your midlet class:

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

to get the screen back use the following:

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

Where myCanvas is your canvas instantiation

R

p.s. You can still use a thread or timer to do things in the background while your midlet is hidden.

p.s.2: this does not work on all models. (Works on Nokia s60, SonyEricsson, but not on Nokia s40, Samsung and some others.

OTHER TIPS

A device's ability to run an application in the background depends on its ability to multitask. Therefore, more expensive, PDA-type devices are more likely to support background execution than lower-cost devices. For in background :-

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

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

And to come in Fore ground :-

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

But be aware that it not supports every device.(Works on Nokia s60, SonyEricsson, but not on Nokia s40, Samsung and some others).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top