- 浏览: 809918 次
- 性别:
- 来自: 广州
最新评论
-
mixture:
语句int num1, num2;的频度为1;语句i=0;的频 ...
算法时间复杂度的计算 [整理] -
zxjlwt:
学习了。http://surenpi.com
[问题解决]Error: ShouldNotReachHere() [整理] -
Animal:
谢谢 楼主 好东西
算法时间复杂度的计算 [整理] -
univasity:
gaidandan 写道缓存失败,,模拟器上可以缓存,同样代码 ...
[开发总结]WebView使用中遇到的一些问题&解决 -
blucelee2:
那么麻烦干吗,而且这种方法会导致,当拉太小的时候样式会丢掉,整 ...
[SWT]SashForm中固定单侧大小(&实现面板隐藏)
最近由于工作需要,需要对背景灯进行操作。对于背景灯设置API说得并不清晰而且缺少例子,网上能找到的资料也不多,这里放上一些最近搜集到的,以作备忘。
CS000957 - Flashing the backlight
From Forum Nokia Wiki
ID | CS000957 | Creation date | May 14, 2008 |
Platform | S60 3rd Edition, MR S60 3rd Edition, FP1 |
Tested on devices | Nokia E61i Nokia N95 8GB |
Category | Java ME | Subcategory | Hardware |
Keywords (APIs, classes, methods, functions) : javax.microedition.lcdui.Display, javax.microedition.lcdui.Display.flashBacklight() |
Overview
This snippet demonstrates how to flash the backlight of the device for a specified duration. In practice, the MIDlet constructs a menu item through which the user can flash the backlight.
Source
Flashing the backlight can be implemented as follows:
// Flash the backlight for 5 seconds Display.getDisplay ( this ) .flashBacklight ( 5000) ;
Here is a complete example:
import javax.microedition.lcdui.Command ; import javax.microedition.lcdui.CommandListener ; import javax.microedition.lcdui.Display ; import javax.microedition.lcdui.Displayable ; import javax.microedition.lcdui.Form ; import javax.microedition.midlet.MIDlet ;
public class ExampleMIDlet extends MIDlet implements CommandListener { private Command flashCommand; private Command exitCommand; private Form mainForm; /** * Constructor. Constructs the object and initializes displayables. */ public ExampleMIDlet( ) { mainForm = new Form( "ExampleMIDlet" ) ; flashCommand = new Command( "Flash" , Command.SCREEN , 0) ; mainForm.addCommand ( flashCommand) ; exitCommand = new Command( "Exit" , Command.EXIT , 0) ; mainForm.addCommand ( exitCommand) ; mainForm.setCommandListener ( this ) ; } /** * Called when the MIDlet is started. */ public void startApp( ) { Display.getDisplay ( this ) .setCurrent ( mainForm) ; } // Other inherited methods omitted for brevity // ... /** * From CommandListener. * Called by the system to indicate that a command has been invoked on a * particular displayable. * @param command the command that was invoked * @param displayable the displayable where the command was invoked */ public void commandAction( Command command, Displayable displayable) { if ( command == flashCommand) { // Flash the backlight for 5 seconds boolean flashAllowed = Display.getDisplay ( this ) .flashBacklight ( 5000) ; if ( ! flashAllowed) { // TODO: Flashing is not allowed. Inform the user. } } else if ( command == exitCommand) { // Exit the MIDlet destroyApp( true ) ; notifyDestroyed( ) ; } }
Postconditions
If the user selects the Flash menu item, the backlight is flashed for 5 seconds.
How to block the screen saver
From Forum Nokia Wiki
If your application doesn't demand constant key presses, after a while the screen saver on a J2ME phone will start automatically.
To make sure that the display light is turned on, the setLights method should be called before the screen saver is started and this must be done in a loop since the screen saver is not disabled just interrupted.
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) { } }
static void flashLights(long duration) |
Flashes the lights. |
static void setLights(int num, int level) |
Turns the lights on and off. |
static void startVibra(int freq, long duration) |
Vibrates for a given frequency and time. |
static void stopVibra() |
Stops vibrating. |
The two device elements you can control are the lights and vibration. To temporarily flash the lights on and off, use the flashLights method. For example:
import com.nokia.mid.ui.DeviceControl; … DeviceControl.flashLights(5000);
This code will cause the lights (such as the LEDs) to flash. If there is no support for this feature, then nothing will happen (duh). The integer value specifies the length of time (in milliseconds) to keep the lights on, although the device might override this value if you specify a number that is too large.
The other method relating to lights, setLights , allows you to control any of the lights on the device individually, such as the backlight or the LEDs …in theory. In reality, Nokia only gives you the ability to control the device's backlight (if it has one). To do this, call the method with the light number (the first integer) set to 0 for the backlight and the level integer set to a number between 0 and 100 (where 0 is off and 100 is the brightest level). For devices that don't support graded backlighting, all values between 1 and 100 just translate to on. Here's an example of setLights in action:
DeviceControl.setLights(0, 100);
NOTE
Tip
A word of warning about playing with the backlight: There is no method to determine the current backlighting level; therefore, you have no way of restoring the lighting to the level the user previously had. Be careful using this function. A user won't be impressed if, while playing in a dark place, you turn the lights out to reward them for completing a level.
If you really want to add this function to your game, consider making it an option the player can enable or disable. This applies to the vibration function as well.
原文连接:http://j2megame.atw.hu/ch06lev1sec122.html
发表评论
-
对Java的I/O流理解
2011-02-19 23:04 1961这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看. ... -
A*寻路(J2ME实现)
2011-02-19 23:00 1281这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看. ... -
J2ME上检测是否支持特定的API
2011-02-19 22:59 1514这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看. ... -
J2me paint[转]
2011-02-19 22:58 1428这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看. ... -
[JSR-184][3D编程指南(译文)]第一部分:快速进入移动JAVA 3D编程世界
2011-01-23 00:37 1706[英文原文&源码下载] ... -
[JSR-184][3D编程指南]Part V: Heightmap terrain rendering using M3G
2011-01-22 23:13 1878<!-- 整理收集自网络,收藏以便日后查阅 --> ... -
[JSR-184][3D编程指南]Part IV:M3G built-in collision,light physics and camera perspec
2011-01-22 23:04 2123<!-- 整理收集自网络,收藏以便日后查阅 --> ... -
[JSR-184][3D编程指南]Part III: Particle systems and immediate mode rendering (2)
2011-01-22 22:56 1533<!-- 整理收集自网络,收藏以便日后查阅 --> ... -
[JSR-184][3D编程指南]Part III: Particle systems and immediate mode rendering (1)
2011-01-22 22:48 2219<!-- 整理收集自网络,收藏以便日后查阅 --> ... -
[JSR-184][3D编程指南]Part II: Light 3D theory and orientation
2011-01-22 22:29 1512<!-- 整理收集自网络,收藏以便日后查阅 --> ... -
[JSR-184][3D编程指南]Part I: Quick jump into the world of Mobile Java 3D programming
2011-01-22 22:07 2313<!-- 整理收集自网络,收藏以便日后查阅 --> ... -
[JSR-184][3D编程指南]目录索引
2011-01-22 21:25 1413Series of 3D programming tutori ... -
[Kuix][转]Kuix的事件处理机制
2009-10-08 18:19 1651原文连接 kuix这 ... -
[积累]getResourceAsStream()返回null的问题
2009-03-13 22:04 2647getResourceAsStream()可以获取JAR包内的 ... -
[资料]根据J2ME(MIDP)虚拟机对程序编写的优化方式
2009-02-27 09:39 14401、关于虚拟机 我认为 ... -
[资料]MIDP2.0中如何通过代码画半透明的圆和椭圆
2009-02-27 09:10 1601最近在做一个小Demo时,需要画一个半透明的圆,看遍M ... -
[资料]MIDP设计模式之集结贴[JavaME]
2009-02-23 22:07 13831: 架构性宣言: MI ... -
[资料]MVC在J2ME项目中的应用之MVC慨述
2009-02-23 21:48 1267内容提要: 本文简要的介绍了MVC模式的思想,并分析了M ... -
[资料]基于MVC模式的J2ME应用程序框架设计
2009-02-23 21:24 2849原文:http://www.mcu123.com/ ... -
[资料]线程在J2ME应用中的使用
2009-02-22 17:05 1594简要说明: 非常好的一篇文章,谈论到了线程各个方面的问题 ...
相关推荐
《关于路灯照明智能控制系统的研究》这篇论文探讨了路灯照明智能控制系统的设计与实现,旨在提高道路照明质量并降低能耗。文章提出了一个包含数据采集、传输、存储和控制的系统框架,并详细介绍了基于Zigbee的路灯...
在现代社会,随着私家车...最后,文章中提到了作者的相关信息和基金项目,反映了该研究得到了资金支持,并指出了研究者的研究方向和背景。这一部分为读者提供了对研究者的进一步了解,以及他们在此研究领域的专业背景。
- 搜集关于友谊的名言,让学生认识到友谊的价值,培养他们的阅读和搜集信息的习惯。 - 通过学习,培养学生团结友爱的精神,促进他们在日常生活中形成良好的人际关系。 2. **教学准备**: - 了解冰心及其作品,使...
同时,由于文章中提到的参考文献信息并未完全给出,我们可以推断,作者在进行文献调研时,收集了大量与单片机应用、嵌入式系统设计、智能控制技术相关的文献资料,为本项目的开发提供了理论和技术支持。 综上所述,...
3. LED技术的背景:LED固态半导体照明技术是一种战略节能技术,与传统光源相比,LED路灯具有更长的使用寿命、更好的可控制性和更高的光效,能效比金属卤素灯(MH)和高压钠灯(HPS)更高,节能效果可达到50%。...
在当今信息技术快速发展的时代背景下,智慧城市的概念逐渐深入人心,其中智慧路灯作为智慧城市的重要组成部分,承担着城市照明、信息传递、交通监管等多项功能。本文以物联网技术为基础,探讨了智慧路灯系统的整体...
本文介绍的是一种基于无线WIFI技术的智能家居灯光控制系统的设计,该系统的设计理念...研究者通过对相关文献的搜集和分析,确保了设计概念的前沿性和创新性,同时也为智能家居灯光控制系统的设计提供了丰富的数据支持。
首先,文章阐述了智能照明系统的设计背景和意义。由于电能作为一种宝贵的资源,其消耗需要得到合理控制,以满足可持续发展的目标。传统的照明控制方式包括手动控制、光强控制和声音控制,它们各自存在一定的局限性,...
首先,文章指出交通拥堵问题是城市发展中的一个重大挑战,尤其是在高峰时段,同一地点的车流量会出现显著的时间性变化。这种规律性为深度学习提供了应用的基础。 在智能交通灯控制方法的设计中,首先需要解决的问题...
在深入探讨“交通灯课程设计的具体方案”这一主题前,我们先来理解其核心概念与应用背景。交通信号灯作为城市交通管理中的重要组成部分,其设计不仅涉及到硬件电路的搭建,还包括软件控制逻辑的实现,是模拟电子技术...
文章中提到的灯联网,是以LED灯为主的节能光源为照明系统的核心。LED灯因其高效节能、长寿命的特点,已经逐渐取代传统的照明光源成为现代照明系统的首选。将LED灯与其他智能照明设备通过灯联网技术相连接,实现照明...
在当今信息技术迅速发展的背景下,大数据和物联网技术已经成为推动现代社会进步的重要力量。特别是在智能家居领域,这两项技术的融合与发展,正在深刻地改变着人们的生活方式和习惯。 大数据技术的特点是能够处理和...
文章介绍了研究背景和目的,即法庭科学领域对物证快速、无损、准确检验的需求。研究人员通过红外光谱分析技术对44个汽车灯罩样本进行了研究。 首先,文章详细阐述了数据预处理步骤。收集到的红外谱图经过自动基线...
在技术背景方面,智慧灯联网的发展经历了从LED路灯的初步控制到如今全面智能化的过程,如德国的Dial4Light、荷兰的智慧路灯控制系统和英国的智能道路照明系统。国内的科研机构也在这一领域进行了深入研究和应用开发...
本篇研究文章以大数据为背景,探讨了人工智能在智慧交通中的应用和相关问题的解决方案。 文章首先分析了大数据的概述及其主要技术。随着移动互联网、电子商务、物联网和社交网络等技术的不断进步,信息数据呈现出...
综上所述,多媒体教学平台系统的维护维修不仅是技术性问题,也是教育信息化背景下必须关注的运营成本问题。建立和完善专业的维修服务体系,将有助于提高设备利用率,降低故障率,延长设备寿命,从而更好地服务于教育...
- 师生共同分享关于作者金波及其童年时代的信息,帮助学生更好地理解文章背景。 - 快速阅读课文,让学生分享印象深刻的玩具及其原因,鼓励结合个人经验。 3. **再读课文,合作探究**: - 学生分成小组,针对文章...
1. **应试文化下的创新困境**:文章指出了在应试教育背景下,学生和教师往往更倾向于遵循既定规则而非鼓励创新思考的现象。 2. **社会环境的影响**:尽管创新被广泛认为是重要的,但在实际操作中,由于社会环境、...
基于这一背景,本文提出了一种基于单片机的直流电能收集充电器设计,旨在回收并利用废旧电池中的电能,减少能源浪费和环境污染。这种充电器不仅可以为手机等设备充电,还适用于矿工照明等场合。 【系统设计】 该...
1. **安装简单**:PbootCMS提供一键安装,无需复杂配置,大大降低了非技术背景用户的使用难度。 2. **模板丰富**:支持多套模板切换,可根据企业需求选择或定制模板,实现个性化设计。 3. **SEO优化**:内置SEO设置...