Hi,
Using my Android application, when a user does a certain action, a background service is started that fetches the current GPS location and saves it in a database in addition of doing some other stuff. In that service, I use the requestLocationUpdates()
from the LocationManager
class and wait until the onLocationChanged()
of my LocationListener
(which is implemented by the service) is fired. But what is the best way to wait for the onLocationChanged
to fire? Should I simply poll on a variable and wait until it is set? Any tips?
Note: I cannot simply write to the database in the onLocationChanged()
because of some other stuff.
EDIT: To clearfy my situation, I can present an example similar to my case:
Let's say user pushes a button and a method myMethod
is fired which will return some object. Then, in this myMethod I will register for location updates from the GPS (using requestLocationChanged
) and in addition wait for the users location and use it for something. In other words, myMethod
cannot return before the location is present. I don't know how I can use onLocationChanged
in this case.