I was looking for this answer in previous posts about Android’s Location Provider but I couldn’t find the answer. How is onLocationChanged triggered and what is the process since the GPS daemon/library fixes a location until it reaches the LocationManager? Is it directly triggered by the Gps daemon or does it go first somewhere in the Android Java Framework?
Many thanks
N
I’ve been looking around the code and this is what i have thus far:
requestLocationUpdates registers the onLocationChangeListener.
This in turn gets stored as a key in a hashmap with a value of a ListenerTransport.
The ListenerTransport has a private variable which is the listener in question. The ListenerTransport just seems to be a class that recieves a message, which calls the onLocationChange method of the listener.
This is where i’m lost:
The ListenerTransport extends
ILocationListener.Stubswhich extends Binder. Hence, its a type of RPC call. But where does the call go?I’ve noticed in
ILocationListener.ProxyinrequestLocationUpdates(), theres a call toIBinder.transact(Stub.TRANSACTION_requestLocationUpdates,...). It’s to be seen where this goes and what happens…