| 操作系统 办公 实用知识 设计 开发 WEB开发 移动开发 数据库 软件工程 网管 安全 管理 信息化 答疑 渠道 |
中断Java ME手机上的屏幕保护程序如果你的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) { } }
今日推荐
|
重点推荐
领军企业技术文库
+更多领军技术文库
最新专题
电子杂志订阅
| ||||||||