Auto-start at reboot
By default, application should not automatically start itself when device is rebooted. For some applications this is allowed, for example it is not reasonable to expect that if the user has installed an anti-virus application, s/he should go and switch it on manually each time device is rebooted. Hovever, it will improve user experience if there is a setting, which user can use to set auto-start off. When application is installed, it is also good to ask from the user if s/he wishes to have auto-start on or off. This is important from the user point of view as now user has the full control of her/his device and the applications s/he wants to have on.
Symbian Signing and auto-start
If you plan to submit your application to Symbian Signed for Nokia, notice that the Nokia test criteria has test cases related to auto-start as detailed in test number Autostart at device boot-up (UNI-11).
Main points to consider for auto-start applications
- By default, auto-start should not be on. It's allowed for certain types of applications, such as anti-virus and device management application.
- User can set auto-start on when installing the application and change the setting later on from the application settings.
- The option to on/off auto-start in settings can never be hidden and must not be protected by a security code.
- Auto-start feature has been implemented correctly; meaning that it is implemented using Startup List Management API in S60 3rd Edition. See article "How to autostart an application on boot up in 3rd- Startup List Management API" for details.
- The Start-On-Boot Registration API is provided by Symbian to implement autostart in 2nd edition applications.
- Removing the memory card when application is auto-starting, does not cause anything unexpected and harmful (device to reboot itself, jam, etc.).
- In case the application marked auto-start earlier is set to off, the device boots up properly. Also if the auto start application is exited it does not impact the device functionality in any ways.
How to skip Auto-Start Applications
There are situations when we might want to skip the applications which load themselves automatically - which are generally called autostart applications.
These applications may be unwanted or may be taking much more time to load. Hence, to skip any auto-start applications that are normally run at startup:
Press the "pencil key" after turning on the phone and hold it down until the PIN code query is displayed.
This technique works on all the available S60 devices.
How to control auto-start
There are cases where you want to detect if the application auto-started or was it started manually by the user from the application’s menu.
The link details how to find that out on Symbian C++ TSS000371 - How can I disable autostart if it is enabled? How can I make autostart /autoboot dynamic?.
You might also want to disable auto-start by default, it can be done as detailed on the wiki link Disabling autostart by default.
Limitations of managing autostart of other applications
3rd party applications can not control what applications are autostarted or not, see the link KIS001322 - Managing the autostart feature of 3rd party applications for more details.
--- Edited by Mayank on 22/06/2009 ---