GPS reception always returns zero speed

I have a code that successfully receives location updates from several providers and filters them to give the current best estimate.

I have added code to check the returned values โ€‹โ€‹of Location.hasSpeed โ€‹โ€‹() and .hasBearing () to do some calculations related to the bearing when the user is actually moving.

Everything works fine on Huawei Sonic 2.3.3, but on Google Nexus S running 4.0.4, the location of the GPS provider always returns false for .hasSpeed โ€‹โ€‹() and 0 for .getSpeed โ€‹โ€‹().

When I register my location receiver, the GPS provider returns true for .supportsSpeed โ€‹โ€‹(), but it never returns the speed in the location, even if the accuracy is up to 30 m and is physically moving (in the car, on the dashboard for maximum reception, the screen is on )

Is there a difference between 2.3.x and ICS 4.x? Do I need to perform my own speed calculation, even if the reporting service supports it?

+3
source share
1 answer

The Google Nexus S has a GPS history. I do not think this is specifically related to ICS. Have you tried Factory phone reset data and then try again?

0
source

All Articles