在 JavaME 中不要让显示器进入待机状态

Posted

技术标签:

【中文标题】在 JavaME 中不要让显示器进入待机状态【英文标题】:Don't let the display go to stand-by in JavaME 【发布时间】:2010-01-20 11:52:44 【问题描述】:

我正在将视频流式传输到我的 MIDLET。在播放时,20 秒后(取决于系统设置)手机上的显示屏会进入待机模式。

如何防止这种情况发生,例如,我可以观看视频 5 分钟,而无需点击某些东西来唤醒显示器?

【问题讨论】:

【参考方案1】:

是啊,我想通了!!!但它有点 hack 而不是真正的“Dont-Go-To-Stand-By”功能......但它可以工作完美!!!! =D

好的,我们的想法是定义显示器需要唤醒的超时时间。我让用户在“设置”屏幕中定义它,然后在 RMS 中写入,以便稍后阅读...

接下来,我定义了每次定义的超时到期时调用getDisplay().flashBacklight(100); 方法的TimerTask。而且,这就像一个魅力! =D

这是概念代码。首先在 VideoCanvas(用于绘制视频的屏幕)上定义 TimerTask:

private class WakeTask extends TimerTask

   public void run()
   
      display.flashBacklight(100);
   

接下来在 VideoCanvas 构造函数中,我启动计时器并将超时时间传递给它,例如 10 秒......就是这样:

***

timer = new Timer();
timer.schedule(new WakeTask(), 0, 10000);

***

因此,如果显示屏在 15 秒后进入待机状态,并且计时器每 10 秒运行一次,则它永远不会进入待机状态,并且会保持唤醒状态,直到您停止计时器为止。如果它在 5 秒内进入待机状态,每次运行时定时器都会将其唤醒,就像您在手机上点击某些东西以唤醒它一样。 =)))

耶... =)))

附言在诺基亚 N96 上测试。

【讨论】:

以上是关于在 JavaME 中不要让显示器进入待机状态的主要内容,如果未能解决你的问题,请参考以下文章

CentOS服务器自动待机,断网,远程ping不通

CentOS服务器自动待机,断网,远程ping不通

VC++如何实时感知Windows系统进入和退出待机状态(附源码)

即使按下主页按钮或手机进入待机状态,如何在 iOS 中继续进行 RESTKit 调用

我们如何检查iphone是不是处于待机模式?

我的温湿度计不准了怎样调节?