I am working on an app that needs to access GPS status, and obtain data about visible satellites like Constellation type, is it used in position fix, Elevation egress etc. I've been using Android Framework Location API that has classes in android.location
package for that, especially GnssStauts
. Now, I see that Google recommends switching to using Location Services API from Google Play services because it does a lot of things instead of us (Geofencing, Activity Recognition...), and is more energy efficient and I understand that, I have started using it for getting user location. But, I cannot find out how to use it for more complex needs, like getting GPS satellites data, like I described in the beginning. Am I missing something very obvious here, or Google still didn't cover that type of use cases with new Location Services API (but forgot to mention that anywhere in documentation), so for that cases we should still stick to good old android.location
framework?
THe Location Services API are an attempt to not use GPS, but try to calculate from additional sources like wifi, cellular signals, etc to save from having to power on the GPS chip. Generally its more accurate than network but less than GPS. (Technically I believe it can be forced to use just GPS, but it isn't the normal way of using it). If you need actual GPS data about satellites, it isn't going to help you. If you need to run on non-Google approved devices, it isn't going to help you (unless they pirate Google Play Services). For your usecase, I would skip it and just use the built in location code.