在 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 中不要让显示器进入待机状态的主要内容,如果未能解决你的问题,请参考以下文章
VC++如何实时感知Windows系统进入和退出待机状态(附源码)