I have noticed that applications like GPS Status get a fix pretty quickly. When I try to get a fix within my own application it takes more time. Does anybody know why is this happening? Do they use a hidden part of the API to force the GPS to connect faster?
Here’s what I use
LocationManager loc = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
loc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
listener);
I want the GPS to give results as frequent as possible because I need it for an AR app 🙂
Although I putting settings like 1000 ms and 1 m for the update frequency with no perceivable difference in speed of fix.
Could be one of several approaches:
LocationManager.getLastKnownLocation(which, given how many apps use location data, should generally be ‘close enough’ if not dead accurate.)LocationManager.NETWORK_PROVIDERinstead ofLocationManager.GPS_PROVIDERto get an immediate rough fix, then refining with GPS (if available).LocationManager.getLastKnownLocation, but doing it yourself)