I\'m building an Android app in which I need to have a very accurate location at a very high frequency. I dove into google play services api for location, and found the Location
The "LocationRequest.setSmallestDisplacement" doesn't matter for accuracy, it's just to avoid unnecessary updates, you can continuing using that.
There is no method to enhance low accuracy, you just get a point with some accuracy (better or worse), if you are not interested on positions with low accuracy just skip this location and wait for a better one.
This page could help you about accuracy and consumption, but take in mind no perfect accuracy exist, with Wi-Fi the accuracy is 100m for worse accuracy.
Here you have the accuracy for each priority.
https://developer.android.com/training/location/receive-location-updates.html#location-request
Here the IO Session from Google engineers, very useful, you can get the PDF there too.
https://developers.google.com/events/io/sessions/325337477
Updated Links brokens
The PDF Presentation
The IO session
Hope this helps :D.