Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java me 最小化并恢复显示_Java Me_Midp_Midlet_Lcdui - Fatal编程技术网

Java me 最小化并恢复显示

Java me 最小化并恢复显示,java-me,midp,midlet,lcdui,Java Me,Midp,Midlet,Lcdui,我想最小化我的应用程序,并在计时器结束后将其取回 我使用下面的代码 要最小化应用程序,请使用以下代码行: Display.getDisplay (MIDLET_CLASS_NAME).setCurrent (null); 要恢复屏幕,请使用以下命令: Display.getDisplay (MIDLET_CLASS_NAME).setCurrent (myCanvas); 但当手机显示被关闭并进入时钟模式时,我的midlet显示直到按下任何按钮才会显示 有什么想法吗?从您的问题听

我想最小化我的应用程序,并在计时器结束后将其取回

我使用下面的代码

要最小化应用程序,请使用以下代码行:

   Display.getDisplay (MIDLET_CLASS_NAME).setCurrent (null);
要恢复屏幕,请使用以下命令:

   Display.getDisplay (MIDLET_CLASS_NAME).setCurrent (myCanvas);
但当手机显示被关闭并进入时钟模式时,我的midlet显示直到按下任何按钮才会显示


有什么想法吗?

从您的问题听起来,您希望
setCurrent
以某种方式“强制”设备立即显示您的屏幕,或者可能仅在屏幕可见后返回

但事实并非如此,API文档中对此进行了明确解释:

请求在显示器上显示不同的
可显示的
对象。更改通常不会立即生效。它可能会延迟,以便在事件传递方法调用之间发生,但不能保证在调用下一个事件传递方法之前发生。
setCurrent
方法立即返回,无需等待更改发生

…如果应用程序在后台,则向
setCurrent
传递非空引用可能会被应用程序管理软件解释为应用程序请求将其带到前台的请求。。。这些只是请求,应用程序管理软件不需要及时满足这些请求,如果有的话


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

如果
myCanvas
是Canvas的实例,则可以使用事件

对于一般的
可显示
屏幕方法,检查屏幕是否在显示器上实际可见

有时候,让用户明确地确认从后台返回是有意义的,比如

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

您是否尝试在调用setCurrent(myCanvas)后添加对MIDLET_CLASS_NAME.resumeRequest()的调用?还没有,但我会尽快添加