`
univasity
  • 浏览: 809918 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[收集]关于背景灯的文章收集

    博客分类:
  • J2me
阅读更多

最近由于工作需要,需要对背景灯进行操作。对于背景灯设置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)
 {
 }


}

  

---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
Table 6.1. com.nokia.mid.ui.DeviceControl

Method

Description

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

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    关于路灯照明智能控制系统的研究.pdf

    《关于路灯照明智能控制系统的研究》这篇论文探讨了路灯照明智能控制系统的设计与实现,旨在提高道路照明质量并降低能耗。文章提出了一个包含数据采集、传输、存储和控制的系统框架,并详细介绍了基于Zigbee的路灯...

    基于arduino单片机的车辆灯光辅助系统设计 (1).pdf

    在现代社会,随着私家车...最后,文章中提到了作者的相关信息和基金项目,反映了该研究得到了资金支持,并指出了研究者的研究方向和背景。这一部分为读者提供了对研究者的进一步了解,以及他们在此研究领域的专业背景。

    《大海中的灯塔》教材分析.docx

    - 搜集关于友谊的名言,让学生认识到友谊的价值,培养他们的阅读和搜集信息的习惯。 - 通过学习,培养学生团结友爱的精神,促进他们在日常生活中形成良好的人际关系。 2. **教学准备**: - 了解冰心及其作品,使...

    基于STC89C52单片机智能教室灯光控制系统设计.pdf

    同时,由于文章中提到的参考文献信息并未完全给出,我们可以推断,作者在进行文献调研时,收集了大量与单片机应用、嵌入式系统设计、智能控制技术相关的文献资料,为本项目的开发提供了理论和技术支持。 综上所述,...

    一种全反射型的LED路灯透镜光学设计.pdf

    3. LED技术的背景:LED固态半导体照明技术是一种战略节能技术,与传统光源相比,LED路灯具有更长的使用寿命、更好的可控制性和更高的光效,能效比金属卤素灯(MH)和高压钠灯(HPS)更高,节能效果可达到50%。...

    以物联网技术为基础的智慧路灯系统设计探讨.pdf

    在当今信息技术快速发展的时代背景下,智慧城市的概念逐渐深入人心,其中智慧路灯作为智慧城市的重要组成部分,承担着城市照明、信息传递、交通监管等多项功能。本文以物联网技术为基础,探讨了智慧路灯系统的整体...

    基于无线WIFI的智能家居灯光控制系统设计.pdf

    本文介绍的是一种基于无线WIFI技术的智能家居灯光控制系统的设计,该系统的设计理念...研究者通过对相关文献的搜集和分析,确保了设计概念的前沿性和创新性,同时也为智能家居灯光控制系统的设计提供了丰富的数据支持。

    一种基于单片机的夜用人体感应灯设计.pdf

    首先,文章阐述了智能照明系统的设计背景和意义。由于电能作为一种宝贵的资源,其消耗需要得到合理控制,以满足可持续发展的目标。传统的照明控制方式包括手动控制、光强控制和声音控制,它们各自存在一定的局限性,...

    基于深度学习的智能交通灯控制方法设计.pdf

    首先,文章指出交通拥堵问题是城市发展中的一个重大挑战,尤其是在高峰时段,同一地点的车流量会出现显著的时间性变化。这种规律性为深度学习提供了应用的基础。 在智能交通灯控制方法的设计中,首先需要解决的问题...

    交通灯课程设计的具体方案

    在深入探讨“交通灯课程设计的具体方案”这一主题前,我们先来理解其核心概念与应用背景。交通信号灯作为城市交通管理中的重要组成部分,其设计不仅涉及到硬件电路的搭建,还包括软件控制逻辑的实现,是模拟电子技术...

    基于灯联网的物联网智能调光照明系统及应用.pdf

    文章中提到的灯联网,是以LED灯为主的节能光源为照明系统的核心。LED灯因其高效节能、长寿命的特点,已经逐渐取代传统的照明光源成为现代照明系统的首选。将LED灯与其他智能照明设备通过灯联网技术相连接,实现照明...

    浅析大数据背景下的物联网智能家居.pdf

    在当今信息技术迅速发展的背景下,大数据和物联网技术已经成为推动现代社会进步的重要力量。特别是在智能家居领域,这两项技术的融合与发展,正在深刻地改变着人们的生活方式和习惯。 大数据技术的特点是能够处理和...

    基于光谱数据融合和人工神经网络的汽车灯罩鉴别.pdf

    文章介绍了研究背景和目的,即法庭科学领域对物证快速、无损、准确检验的需求。研究人员通过红外光谱分析技术对44个汽车灯罩样本进行了研究。 首先,文章详细阐述了数据预处理步骤。收集到的红外谱图经过自动基线...

    基于云边融合室外智慧灯联网的系统设计与应用.pdf

    在技术背景方面,智慧灯联网的发展经历了从LED路灯的初步控制到如今全面智能化的过程,如德国的Dial4Light、荷兰的智慧路灯控制系统和英国的智能道路照明系统。国内的科研机构也在这一领域进行了深入研究和应用开发...

    大数据背景下人工智能在智慧交通中的应用研究.pdf

    本篇研究文章以大数据为背景,探讨了人工智能在智慧交通中的应用和相关问题的解决方案。 文章首先分析了大数据的概述及其主要技术。随着移动互联网、电子商务、物联网和社交网络等技术的不断进步,信息数据呈现出...

    维护维修的提案收集.pdf

    综上所述,多媒体教学平台系统的维护维修不仅是技术性问题,也是教育信息化背景下必须关注的运营成本问题。建立和完善专业的维修服务体系,将有助于提高设备利用率,降低故障率,延长设备寿命,从而更好地服务于教育...

    一起长大的玩具教学设计.docx

    - 师生共同分享关于作者金波及其童年时代的信息,帮助学生更好地理解文章背景。 - 快速阅读课文,让学生分享印象深刻的玩具及其原因,鼓励结合个人经验。 3. **再读课文,合作探究**: - 学生分成小组,针对文章...

    高考关于创新的作文.docx

    1. **应试文化下的创新困境**:文章指出了在应试教育背景下,学生和教师往往更倾向于遵循既定规则而非鼓励创新思考的现象。 2. **社会环境的影响**:尽管创新被广泛认为是重要的,但在实际操作中,由于社会环境、...

    基于单片机的直流电能收集充电器的设计

    基于这一背景,本文提出了一种基于单片机的直流电能收集充电器设计,旨在回收并利用废旧电池中的电能,减少能源浪费和环境污染。这种充电器不仅可以为手机等设备充电,还适用于矿工照明等场合。 【系统设计】 该...

    PbootCms企业响应式绿色LED灯具照明网站源码模板

    1. **安装简单**:PbootCMS提供一键安装,无需复杂配置,大大降低了非技术背景用户的使用难度。 2. **模板丰富**:支持多套模板切换,可根据企业需求选择或定制模板,实现个性化设计。 3. **SEO优化**:内置SEO设置...

Global site tag (gtag.js) - Google Analytics