A sample J2ME Auto-resume program.

By: Emiley J Viewed: 153219 times  Printer Friendly Format    


Do you need to create an application that does auto-resume (after a phone-call, or whenever a flip-phone is opened). Here is a sample J2ME Auto-resume program.

The resumeRequest must not be called from the "App manager interface". So the sample auto resume program below runs a separate thread that calls resumeRequest().

Listed below is the source code. There are 2 classes, AutoResume and AutoResumeThread. 

 

 


 

------------------------ AutoResume.java --------------------------------
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException;
public class AutoResume extends MIDlet {
private Form mainForm;
private StringItem message;
private int nPause;
public boolean isPaused;
public AutoResume() {
super();
mainForm = new Form("Auto-Resume");
message = new StringItem("Message:", "Message here");
mainForm.append(message);
nPause = 0;
isPaused = true;
}
protected void startApp() throws MIDletStateChangeException {
isPaused = false;
System.out.println("startApp");
Display.getDisplay(this).setCurrent(mainForm);
message.setText("Paused " + nPause + " times");
}
protected void pauseApp() {
nPause++;
isPaused = true;
System.out.println("pauseApp");
AutoResumeThread t = new AutoResumeThread(this);
t.start();
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
System.out.println("destroyApp");
}
}
 

-------------------- end of AutoResume.java ---------------------------
 
 
 

-------------------- AutoResumeThread.java ----------------------------
public class AutoResumeThread extends Thread {
private AutoResume m_mainThread;
public AutoResumeThread(AutoResume mainThread) {
m_mainThread = mainThread;
}
public void run() {
int nSleep = 0;
while (m_mainThread.isPaused) {
try {
System.out.println("Sleeping");
sleep(1000);
} catch (InterruptedException e) {
System.out.println(e.toString());
}
nSleep++;
if (nSleep == 5) {
System.out.println("Requesting resume");
nSleep = 0;
m_mainThread.resumeRequest();
}
}
}
}
------------------- end of AutoResumeThread.java ------------------------
 



Most Viewed Articles (in J2ME )

Latest Articles (in J2ME)

Comment on this tutorial