How to get the most accurate possible speed from GPS in Android
How can I get an accurate speed from GPS in Android? Yes, I am aware of the location.getSpeed() method in the Location class. Problem is, the default implementation returns 0.0 as speed: apparently that is the default behavior . What I'm currently doing, is as follows, consider location objects a and b, where a is taken first, b later: a.distanceTo(b)/(b.getTime()-a.getTime()); (simplified for readability, original code deals with history ArrayList ) Problem is that this is somewhat inaccurate: under normal circumstances, the data points are so close to one another that the GPS inaccuracy