import javax.microedition.midlet.MIDlet;
import java.util.*;
/*
* 创建日期 2005-10-8
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author Snail
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class MyTimerTask extends TimerTask {
PRivate MIDlet midlet;
/**
*
*/
public MyTimerTask(MIDlet midlet) {
// TODO 自动生成构造函数存根
System.out.println("MyTimerTask contrUCtor");
this.midlet = midlet;
}
public void run(){
System.out.println("run() called");
midlet.resumeRequest();
}
}
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import java.util.*;
import javax.microedition.midlet.MIDletStateChangeException;
/*
* 创建日期 2005-10-8
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author Snail
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class MidletTest extends MIDlet implements CommandListener{
private Timer timer;
private MyTimerTask mtk;
private Command exit;
/**
*
*/
public MidletTest() {
System.out.println("MidletTest Constructor");
//初始化Timer对象
timer = new Timer();
}
/* (非 Javadoc)
* @see javax.microedition.midlet.MIDlet#startApp()
*/
protected void startApp() throws MIDletStateChangeException {
// TODO 自动生成方法存根
System.out.println("startApp Called");
exit = new Command("EXIT", Command.EXIT, 1);
Form f = new Form("MidletTest");
String s = new String("I'll come back soon!");
f.append(s);
f.addCommand(exit);
f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);
try{
//画面停留4秒 即活动状态 时间为4秒
Thread.sleep(4000);
}catch(Exception e){}
System.out.println("Ready to paused");
try{
mtk = null;
//获得当前Midlet基类的引用(向上转型)
mtk = new MyTimerTask(this);
//执行该任务等待 2秒
timer.schedule(mtk, 2000);
//请求进入暂停状态
pauseApp();
notifyPaused();
}catch(Exception e){}
}
/* (非 Javadoc)
* @see javax.microedition.midlet.MIDlet#pauseApp()
*/
protected void pauseApp() {
// TODO 自动生成方法存根
System.out.println("pauseApp Called");
}
/* (非 Javadoc)
* @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
*/
protected void destroyApp(boolean arg0)throws MIDletStateChangeException {
// TODO 自动生成方法存根
System.out.println("destroyApp Called:" + arg0);
//停止Timer ,和TimerTask合同期满,脱离关系
timer.cancel();
}
public void commandAction(Command c, Displayable d){
if(c == exit){
try{
destroyApp(false);
notifyDestroyed();
}catch(MIDletStateChangeException e){}
}
}
}
mtk = new MyTimerTask(this);
timer.schedule(mtk, 2000);
try{
mtk = null;
//获得当前Midlet基类的引用(向上转型)
mtk = new MyTimerTask(this);
//执行该任务等待 2秒
timer.schedule(mtk, 2000);
//请求进入暂停状态
pauseApp();
notifyPaused();
}catch(Exception e){}
(出处:http://www.VeVb.com)
新闻热点
疑难解答