如何最小化J2ME应用程序?

我需要我的J2ME应用程序在后台运行,仍然允许用户使用他的手机没有问题。 该应用程序仍需要在后台处理一些事件。

如果他愿意,我还想让用户停止应用程序。

我怎么能做到这一点?

我认为在j2me标准中没有指定在后台运行midlet但仍然处理。 在您的midlet移动到背景时,Normaly应该调用暂停的方法。

但并非每个供应商都以这种方式实施。 Symbian使您的​​程序保持运行,就像最小化时没有变化一样。 至少在N80和N90上。

设备在后台运行应用程序的能力取决于其多任务处理能力。 因此,与低成本设备相比,更昂贵的PDA类型设备更可能支持后台执行。 对于背景: –

private Display display = Display.getDisplay(this); private Displayable previousDisplayable; public void toBack() { previousDisplayable = display.getCurrent(); display.setCurrent(null); } 

前景: –

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

但请注意,每个设备都不支持该function。(适用于诺基亚s60,索尼爱立信,但不适用于诺基亚s40,三星和其他一些设备)。

这并不总是受支持,但在手机上,命令是:

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

如果你的应用程序在后台,那么它不会收到任何事件。 所以我不知道它如何在后台处理任何事件。 如果它是一个预加载J2ME应用程序,那么你可以与手机制造商合作,并获得某些jad属性,将你的midlet放在后台。 因此,您不能允许用户退出应用程序。 您可能想要考虑这个用例。

另一方面,您可以在Blackberry应用程序中执行所有这些操作。

 MIDlet.notifyPaused()