Namespaces
Variants
Actions
Revision as of 10:46, 16 August 2012 by skalogir (Talk | contribs)

Flashing the backlight using Java ME

Jump to: navigation, search


Article Metadata

Code Example
Tested with
Devices(s): Nokia E61i, Nokia N95 8GB, Nokia 701, Nokia Asha 305

Compatibility
Platform(s): Series 40, Symbian

Article
Keywords: javax.microedition.lcdui.Display, javax.microedition.lcdui.Display.flashBacklight()
Created: tapla (07 May 2008)
Last edited: skalogir (16 Aug 2012)

Contents

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 select the Flash option in order to force the screen's brightness to periodically increase and decrease for a certain duration. Unlike Symbian devices, where a MIDlet has full control of the device's lights, on Series 40 devices, the user has to specify if the lights should be controlled by the application, or whether their behavior should be defined by the active Profile.

Controlling the lights on application level on Series 40 Development Platform 1.1

Controlling the lights on application level on Series 40 Development Platform 2.0

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 FlashingBacklight extends MIDlet implements CommandListener {
private Command flashCommand;
private Command exitCommand;
private Form mainForm;
 
/**
* Constructor. Constructs the object and initializes displayables.
*/

public FlashingBacklight() {
mainForm = new Form("Flashing Backlight");
 
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);
}
 
/**
* Called when MIDlet is paused.
*/

public void pauseApp() {
}
 
/**
* Called to signal the MIDlet to terminate.
*
* @param unconditional if true, then the MIDlet has to be unconditionally
* terminated and all resources has to be released.
*/

public void destroyApp(boolean unconditional) {
}
 
/**
* 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.

330 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved