Revision as of 02:29, 20 November 2013 by hamishwillee (Talk | contribs)

Controlling screen saver in MIDlets on Symbian

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Created: User:Technical writer 2 (17 Aug 2007)
Last edited: hamishwillee (20 Nov 2013)


Controlling screen saver in MIDlets on S60 devices


It is now possible to prevent screen saver appearance in MIDlets by using the DeviceControl class of Nokia UI API.
This functionality is available starting from S60 3rd Edition, Feature Pack 1 devices, although some early S60 3rd Edition, FP1 releases do not support this. Also the AT&T/Cingular-branded S60 3rd Edition devices support this functionality.


Calling the setLights() function once will delay screen saver appearance but does not disable it permanently. Thus, it is needed to call the setLights() function repeatedly, for example, in a separate thread. The delay between two calls should be smaller than the timeout of the screen saver (usually something like 15 seconds or more).

Note that calling setLights() only once will still keep the set light level until the MIDlet is closed or the function is called again with a different level. The looping is only needed if the screen saver should be disabled.

Here is a piece of code that calls the setLights() function in a loop and thus prevents the screen saver from appearing:

     import com.nokia.mid.ui.DeviceControl;
// ...
// run() function in a Thread/Runnable
public void run()
// ...
while( true )
DeviceControl.setLights( 0, 100 );
Thread.sleep( 2000 ); // 2 seconds
// ...
113 page views in the last 30 days.