Asked this over on Stackoverflow as well...

I have code that successfully gets location updates from multiple
providers and filters them to give a current best estimate.

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

It all works fine on a Huawei Sonic running 2.3.3, but on the Google
Nexus S running 4.0.4 the GPS provider's Location always returns false
for .hasSpeed() and 0 for .getSpeed().

When I register my location listener, the GPS provider returns true
for .supportsSpeed() but it never returns the speed in a Location even
when the accuracy is down to 30m and it is physically moving (in a
car, on the dashboard for max reception, screen on).

Is there some difference from 2.3.x to ICS 4.x? Do I have to implement
my own speed calculation even when the provider reports support?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to