Covering how to invoke published standard application views, the use of a number of application engines and several useful system functions from within applications
A number of the standard Series 60 applications, such as Contacts and Calendar, publish selected views for use by other applications ”for example, to allow listing and selection of a contact from within another application.
Also, the engines for some standard applications have been implemented as servers ”the Calendar engine is implemented in this way. An engine written as a server enables data sharing between multiple applications that need access to the data, including your own, if required.
Many other useful public APIs are available for use by developers ”some are Symbian OS APIs and others are Series 60 specific. The number and variety of these APIs is increasing with every revision of Series 60.
This chapter describes and illustrates some of the most important functionality available at the time of writing. The topics covered in this chapter are:
Using Standard Application Views ” Many of the key applications in Series 60 devices publish one or more views for use by other applications. Examples of how to use such views are given for Phonebook, Calendar, Photo Album and Messaging. Additional information is given on invoking other applications that do not allow view switching and using library controls that provide access to key functionality, such as the Speed Dial dialog.
Application Engines ” Several applications also share their data with other applications by providing a server-based engine. This section provides information on how you can use the engines from the Logger application, the Camera application, Phonebook, Calendar and Photo Album applications for your own needs.
Accessing System Capabilities ” Occasionally some applications may need to access hardware settings, or to sense their current state, in order to provide the level of functionality required. This section demonstrates how to use the Hardware Abstraction Layer (HAL) APIs to get, and sometimes set, various hardware settings. Use of the System Agent APIs to receive notification about system and hardware state changes is also shown.
A number of example projects are provided to illustrate the majority of the APIs described in this chapter. Some of the simpler APIs are just described, but for the more complex techniques, complete example projects are provided.
Table 12-1 summarizes the example applications and the techniques they demonstrate .
Technique | Details | Example Application |
---|---|---|
View Switching | Calendar, Phonebook, Camera, Photo Album, Profiles, Messages | ViewManager |
View Switching | Phonebook | CallSummary |
View Switching | Media Gallery application ( replaced Photo Album/Images application in Series 60 2.x) | FilmReel2 |
Nonswitchable Applications | Invokes the WAP browser | ViewManager |
Invoke Exported UI Controls | Invokes the Speed Dial Dialog | CallSummary |
Application Engines | Log engine | CallSummary |
Application Engines | Phonebook | CallSummary |
Application Engines | Speed Dial | CallSummary |
Application Engines | Calendar (Agenda) engine | AlarmOrganiser |
Application Engines | Camera engine | FilmReel |
System APIs | System Agent | SystemAgent |
System APIs | Hardware Abstraction Layer | HalView |
All the project files, source files and deployment information associated with the examples in this book are available online, as noted in the Preface.