As an example of a case where a system service depends on another, below is the constructor for a 'test' service which when constructed, initializes a location manager.
The 'test' service requires that the 'LocationManagerService' is running before 'test' is created so that it can successfully initialize a location manager.
When Android is started, 'init' is a component of the bootloader sequence which initializes a number of daemons which run continuously whilst the operating system is running.
One of those daemons 'Zygote' is the process responsible for starting system services. It does this by executing the initAndLoop() function of the SystemServer Class.
SystemServer located in frameworks/base/services/java/com/android/server/SystemServer.java
In order to ensure 'LocationManagerService' is running before 'test' service, place the 'test' service's addService code anywhere below that of the 'LocationManagerService'.
Showing posts with label Service. Show all posts
Showing posts with label Service. Show all posts
Friday, 1 August 2014
Subscribe to:
Posts (Atom)