3

I implemented the new LocationClient into my app, but doing a test run I noticed the readings are incorrect.

I was driving outside without GPS. WLAN on. Thus location accuracy can only be what used to be NETWORK.

I set the LocationClient to LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY; and update interval to 15 sec.

When I get the data I evaluate the Location with getAccuracy() and getTime(). Both values can not be trusted.

I get an accuracy of 25 to 50m, sometimes up to 100 meters, typical for WIFI locations. However, once I left home, the location reported (with getAccuray() < 100) had nothing much to do with my current location (actual accuracy >800m). It resembled best the cell tower location. Location was never updated in the hour I was traveling, thus always pointing to the same cell tower (incidently I always was in that area although traveling about 3 km).

Doing further tests I noticed that location and accuracy did not change for at least a minute after I turned wifi off. I was walking, so accelerator should be triggered. Again, location was way off to where I was, but accuracy still reported < 30m. After about 1-2 Minutes, the location was then reported with accuracy >800 m which was correct.

I can live with bad accuracy, but I need to know that.

Time is always updated to latest time also while the actual reading is older. This also seems a bug, someone already raised an issue at google for that.

Summarized it means I can not use that functionality. I get old readings reported as current and accuracy which does not match the reading.

Test where done on a Nexus 4. Phone was connected to an UMTS (3G) cell.

Are these known issues? Is there a way to work around it (getting the correct accuracy), or do I have to use the "old" LocationManager?

Gunnar Bernstein
  • 6,074
  • 2
  • 45
  • 67

0 Answers0