中断Java ME手机上的屏幕保护程序

转载 2007年10月06日 10:35:00
如果你的J2ME应用程序不要求用户连续按键,那么在SonyEricsson的手机上运行的程序,可能一段时间之后就会出现屏幕保护界面,这是手机自带的功能。但是我们可以通过Nokia UI API来设置背景灯来阻止屏幕保护界面。但是持续让背景灯打开会消耗更多的电量。

  请注意:对于UIQ3的手机,例如W950 M600等,可以从控制面板来禁止屏幕保护程序,因此Nokia UI API不再适合。

  还需要注意的是由于我们并非在程序中禁止屏幕保护程序,而是中断其运行。因此要在循环中不停的调用setLights()方法。

DeviceControl.setLights(0, 100);

  下面是一个案例

import com.nokia.mid.ui.DeviceControl;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class BacklightWorkaround extends MIDlet {

 private SimpleCanvas canvas;

 /**
 * Keeps the backlight on by repeatedly setting
 */
 class LightThread extends Thread {
  public void run() {
   while(true){
    DeviceControl.setLights(0, 100);
    try {
     Thread.sleep(5000);
    } catch (InterruptedException ex) {
     ex.printStackTrace();
    }
   }
  }
 }

 private class SimpleCanvas extends Canvas implements CommandListener{
  private Command exitCmd;
  private MIDlet midlet;

  public SimpleCanvas(MIDlet midlet) {
   this.midlet = midlet;
   exitCmd = new Command("Exit",Command.EXIT, 1);
   addCommand(exitCmd);
   setCommandListener(this);
  }
  public void paint(Graphics g) {
   g.drawString("Let there be light.", 0, 0, Graphics.LEFT|Graphics.TOP);
  }

  public void commandAction(Command command, Displayable displayable) {
   if(command == exitCmd){
    midlet.notifyDestroyed();
   }
  }
 }

 public void startApp() {
  if(canvas == null){
   canvas = new SimpleCanvas(this);
   new LightThread().start();
  }

  Display.getDisplay(this).setCurrent(canvas);
 }

 public void pauseApp() { }
 public void destroyApp(boolean unconditional) { }
}
 

Android for Java - Eclipse开发Android程序如何在手机上运行

Eclipse开发Android程序如何在手机上运行android开发不论是在真机上调试还是最终发布到真机上都非常简单,过程如下:1、安装usb驱动  手机要能与电脑相连,当然要安驱动了。效果就是你插...
  • icewizardry
  • icewizardry
  • 2013年12月11日 16:11
  • 11955

51 汇编编程:中断的现场保护与恢复

;;有个交通灯的题目,链接在:;;http://zhidao.baidu.com/question/556903116;;问题主要是中断时,强制变换为红灯后,退出前应该怎样恢复原来的灯。;;一般来说,...
  • baidu_33836580
  • baidu_33836580
  • 2016年01月25日 12:02
  • 749

Windows屏幕保护程序的制作

Windows屏幕保护程序的制作 前些日子看了阿卓工作室的一篇关于如何制作屏保程序的文章及其示例,我便想自己做一个玩玩,所以按他说的做,结果不行,所以就在MSDN中搜索了下,得到这么一篇文章...
  • Eternalze
  • Eternalze
  • 2015年06月01日 15:19
  • 2500

Android手机提供的中断事件

Android手机提供的打断事件与以往手机有着一些机制上的不同,当然也有很多跟以前一样的机制。所以我们要从他的应用程序打断机理出发,定制我们的系统测试用例的打断事件。     我们可以定制一个应用,...
  • nihao0526
  • nihao0526
  • 2013年12月10日 16:29
  • 1228

Linux下屏保程序

http://www.openswc.com/forum.php?mod=viewthread&tid=560 利用一些便捷的小软件把自己的数码相片做成绚烂多彩的屏保,放在自己的电脑上该是多么惬...
  • openswc
  • openswc
  • 2013年06月16日 10:56
  • 2790

保护模式及其编程——中断和异常处理

摘要:为了提高CPU的利用效率,我们采用了中断策略来处理某些外部事件。同时,软件也需要触发某些中断和异常,例如除零中断/page Fault异常等。和子程序调用相比,中断和异常的发生往往是不可预料的,...
  • trochiluses
  • trochiluses
  • 2014年02月26日 15:41
  • 2225

最简洁的中断现场保护

阅读韦老师的中断现场保护和恢复代码,感觉下面红色部分的代码似乎用不到,因为恢复现场的时候,lr的内容早就放在堆栈里面,并且要推送到pc了,我把下面代码的红色部分去掉,做实验,可以顺利进出中断,可见这几...
  • s110500617
  • s110500617
  • 2016年07月10日 22:23
  • 1440

eclipse上如何在手机上运行项目

手机要能与电脑相连,当然要安驱动了。效果就是你插入手机,电脑显示驱动已识别。驱动安装的官方教程:http://developer.android.com/sdk/win-usb.html 设置a...
  • shangandeyu_kun
  • shangandeyu_kun
  • 2016年05月09日 11:22
  • 2911

手机上Bloom效果trick

这篇不讲具体bloom本身的算法,讲的是如何获得需要bloom的亮部颜色信息。 这年头手机上很多3D arpg/mmorpg都在高级效果中加入bloom了,因为好看嘛。不过绝大部分游戏的bl...
  • pianpiansq
  • pianpiansq
  • 2017年05月15日 20:07
  • 471

QT关于屏幕保护程序

首先,要写一个屏保程序,需要一个定时器来统计多长时间没有处理事件进入休眠, 第二,事件处理是一个全局性的,过滤处理事件, //直接上源码吧,自己改改。重写Application #ifn...
  • cqltbe131421
  • cqltbe131421
  • 2017年08月01日 10:56
  • 132
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:中断Java ME手机上的屏幕保护程序
举报原因:
原因补充:

(最多只允许输入30个字)