Archived:Symbian Start-On-Boot Registration API
This article describes the "Start on Boot" API that can be used for auto-starting applications in S60 2nd Edition and/or UIQ. While this API has been tested to Symbian OS v9.2, Symbian applications should use the Startup list management API (> S60 C++ API reference > C++ API Reference > S60 Platform Services > Security Services > Startup list Management API) from S60 3rd Edition.
Start-on-Boot Registration API
A common task Symbian developers face is to set up daemon services that run in the background waiting for or initiating events. For example you might wish to have some code execute or an application be launched at a scheduled time, or in response to receiving an inbound connection. In practice the combination of CActive and CServer classes provides the framework to create the service itself. What can be tricky, though, is ensuring that the service is running at all times, especially after the phone is rebooted. We provide here for the first time a very simple solution to this problem.
The Start-on-Boot API allows you to specify that an executable of your choice be launched and kept running indefinitely by registering it for re-launch as part of the phone's boot sequence. The implementation of the API includes checks which ensure that any malfunctioning executable introduced into the boot sequence which prevents successful reboot subsequently is automatically de-registered.