Although it is true that AGPS is dependent on any kind of data transfer, most Android phones have real GPS chips, which means that they communicate with satellites in space, regardless of any kind of data connection. This will provide a more accurate position, but will be slower to acquire. Itβs best to listen to location updates both from network providers and from GPS, so that data-connected phones get a quick, blundered error that can be clarified by GPS and phones that donβt have a data connection just won't raise an event while GPS won't get a fix. If you want to be extremely reliable, do not block waiting for a fix so that the user can at least continue to use your application, instead of looking at the rotating icon.
source share