中断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) { }
}
 

相关文章推荐

Java ME嵌入式程序设计

  • 2015年07月16日 09:37
  • 22.99MB
  • 下载

Java ME引路蜂地图开发示例:设置地图类型

创建RasterMap实例之后,可以对其进行放大,缩小,平移,设置地图类型等操作。 在第一个地图应用中,在调用RasterMap.setCenter 时可以指定地图类型,另外也可以使用RasterM...

Eclipse Eclipseme wtk配置JAVA ME开发环境

  一、软件下载Eclipse3.4+Eclipseme1.7.9+wtk3.0 配置JAVA ME开发环境下载最新版的必备软件,1 eclipse 3.4 到下面这个地址去找找    http://...

Java手机开发平台 Java ME

J2ME,现称为Java ME(Java Platform, Micro Edition )是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java...

Java ME 短消息

发短消息package com.zeph.s40.sms; import java.io.IOException; import javax.microedition.io.Connect...

Java ME引路蜂地图开发示例:地址查询

引路蜂地图API中同样提供了地址查询,路径查询,本地搜索,IP地址查询,地址反编码(通过经纬度查地名)等。 地址查询(或称为地址编码)是将输入的地名(如南京林业大学)转换成对应的经纬度坐标然后将其...

Java ME引路蜂地图开发示例:第一个地图应用

下面的代码显示中国南京地图 //------------------------------------------------------------------------------ // ...

Java ME 图表

线性表 1.1   图表在表现数据时具有直观的效果,因此在很多的信息管理软件中被广泛的使用,由于PC平台(或是web平台)的技术比较成熟,相应的控件也比较多,能够拿来使用。但是在移动平台上,我们却鲜能...
  • GaoTech
  • GaoTech
  • 2012年03月30日 20:10
  • 332

Java ME引路蜂地图开发示例:路径查询

可以通过RasterMap的getDirection()方法来查询路径,和查询地址类似,路径查询的结果也是通过回调函数的方式来通知应用程序的,下面的例子返回南京到北京的路径。返回结果存放在MapDir...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:中断Java ME手机上的屏幕保护程序
举报原因:
原因补充:

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