You Are Here:

Community: Wiki

This page was last modified on 15 July 2008, at 00:03.

ScreenSaver plug-in example for S60 3rd Edition

From Forum Nokia Wiki

This ScreenSaver plug-in example demonstrates the usage of the ScreensaverPlugin API (screensaverplugin.h) to implement an own, customized utility screen saver on top of the default S60 screen saver. The basic functionality of the screen saver can be similar to the default screen saver but the appearance of the activated screen saver can be customized.

Contents

Features of Screensaver

The default screen saver is designed so that it is easily expandable with user plug-ins. The same screen saver engine can support multiple different plug-ins. This allows the user to create many different-looking screen saver plug-ins and the used plug-in can be changed in the Themes application.

This example draws a screen saver that contains a digital clock, color-changing status indicator, missed calls indicator(s), new message indicator(s), keylock indicator, and used profile indicator.

Usually the status indicator is green, but if messages or calls have arrived, the indicator turns red. On the left of the status indicator there are indicators for missed calls. There will be as many device symbols as there are missed calls in a row. On the right of the status indicator there are indicators for new messages and they operate in the same way as missed calls indicators. The keylock symbol appears on top of the status indicator. On top of all there is the used profile indicator, which is visible if the device's current profile is other than General.

In 3.0 devices to set customized screensaver, Open themes->Options->Edit->Power Saver

In 3.1 devices to set customized screensaver, Open Settings->General->Personalisation->Themes->Power Saver

How to create screensaver

MScreensaverPlugin: A base class that each screen saver plug-in must inherit and implement. It provides, for example, the InitializeL, Draw, and HandleScreensaverEventL methods. Steps to be followed to create screensaver is explained here


Known Issues

It is not possible to get the keylock indicator to work using GetIndicatorPayload (EScreensaverIndicatorIndexKeyGuardState, result) of the screensaverpugin API. Instead, the keylock status is queried with the RAknKeyLock method.

This screensaver plug-in example has few known issues in 3rd Edition devices:

Setting a custom screen saver as the active one does not work on some early firmware versions of certain S60 3rd Edition devices. See KI Custom screen saver cannot be set as the active one

The default screen saver is activated instead of a correctly implemented custom screen saver if the keypad of the device is unlocked after the first screen saver activation.See KI Custom screen saver is not activated again after keypad has been unlocked


Example Application

Screen Saver plug-in example

This application works in both 3.0 and 3.1 devices and requires following Capabilities:

NetworkServices LocalServices Location ReadUserData WriteUserData ReadDeviceData WriteDeviceData SwEvent UserEnvironment PowerMgmt

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fInstallingE5fJavaE5fappsE5fandE5fWE52TE5fwidgetsE5fusingE5fsisE5ffilesX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtopicQUqfnTopicZseriesE5f60Q qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qfnZuserE5ftagQSxs60X qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ