我需要我的J2ME应用程序在后台运行,并仍然允许用户使用他的手机没有问题。 该应用程序仍然需要在后台处理一些事件。如何最小化J2ME应用程序?
我还想让用户停止应用程序,如果他想。
我该如何做到这一点?
我需要我的J2ME应用程序在后台运行,并仍然允许用户使用他的手机没有问题。 该应用程序仍然需要在后台处理一些事件。如何最小化J2ME应用程序?
我还想让用户停止应用程序,如果他想。
我该如何做到这一点?
MIDlet.notifyPaused()
在后台运行一个MIDlet,但没有在J2ME标准,我认为指定仍在处理中。正常情况下,当你的midlet移动到后台时,应该调用暂停的方法。
但并非每个供应商都以这种方式实施。在保持最小化的情况下,Symbian会保持程序运行,就好像没有变化一样。至少在N80和N90上。
如果你的应用程序在后台,那么它不会收到任何事件。所以我不知道它如何在后台处理任何事件。如果预载J2ME应用程序,那么您可以与手机制造商合作,并获得某些jad属性以将您的midlet放入后台。您因此可以不允许用户退出该应用程序。您可能想要考虑这个用例。
另一方面,您可以在黑莓应用程序中执行所有这些操作。
,这并不总是支持,但开出的手机,该命令是:
Display.getDisplay(theMidlet).setCurrent(null);
设备的运行在后台的应用程序的能力取决于其多任务处理能力。因此,更昂贵的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);
}
但要知道,每一个设备不支持该功能(可在诺基亚S60,索尼爱立信,但不能在诺基亚S40,三星一些其他)。
我需要midlet继续在后台运行(界面不显示,最小化就像桌面应用程序一样)。我的理解是使用notifyPaused()方法会立即暂停midlet的执行。 – Attilah 2009-07-05 16:56:07
但是如果你的手机没有调用这个'notifyPaused()'回调方法呢? 相反,您的手机资源可能会非常低,并决定一起关闭您的所有 J2ME程序 – joe 2009-07-06 08:35:50