2012-06-21 99 views
2

我想尽量减少我的应用程序,并在计时器结束后恢复它。尽量减少和取回显示屏

我使用下面的代码。

为了减少下面的代码行应用程序中使用:

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

为了让屏幕的背面使用以下命令:

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

但是,当手机显示解雇,将时钟模式我的MIDlet显示直到按下任何按钮才显示。

有什么想法吗?

+0

你尝试调用的setCurrent(myCanvas)后添加到MIDLET_CLASS_NAME.resumeRequest()的调用? –

+0

还没有,但我尽快做到了 – Mostafa

回答

1

从你的问题听起来,你希望setCurrent以某种方式“迫使”设备立即显示在屏幕或可能返回屏幕变得可见之后。

这不是这样,尽可能清楚API文档中解释了Display.setCurrent:将不同的对象Displayable要在显示器上可见

请求。 更改通常不会立即生效。它可以被延迟,使得其事件传递方法调用之间发生时,尽管它不保证被称为下一个事件传递方法之前发生。该setCurrent方法立即返回,而无需等待的变化要发生......

...如果应用程序是在后台,通过一个非空的参考setCurrent可通过管理软件的应用解释作为该应用程序请求被带到前台的请求......这些只是请求,并没有要求,应用管理软件符合这些要求及时,如果在所有 ...


考虑重新设计您的MIDlet以适应指定的行为。

如果myCanvas是帆布的一个实例,可以使用showNotify()事件。

对于通用Displayable屏幕isShown()方法检查它是否在显示屏上实际可见。

有时甚至可以使感,让用户明确确认与背景的回报,像

display.setCurrent(new Alert("back to foreground", "dismiss to continue...", 
     null, AlertType.INFO), myCanvas);