Our app request update location with LocationClient and IntentService. Location doesn\'t update at all if user disable wifi in phone settings.
We tried to test app
I found solution.
Google changed documentation for Location Client. Now it says:
public static final int PRIORITY_BALANCED_POWER_ACCURACY
Used with setPriority(int) to request "block" level accuracy.
Block level accuracy is considered to be about 100 meter accuracy. Using a coarse accuracy such as this often consumes less power.
Using a coarse accuracy - I think it means that Location Client doesn't use GPS for update location if priority is PRIORITY_BALANCED_POWER_ACCURACY.
So for using GPS you should use PRIORITY_HIGH_ACCURACY.
If someone is still wondering,
Google documentation says:
If you are using both NETWORK_PROVIDER and GPS_PROVIDER, then you need to request only the ACCESS_FINE_LOCATION permission, because it includes permission for both providers. Permission for ACCESS_COARSE_LOCATION allows access only to NETWORK_PROVIDER.
Let me try to give you one answer to this. Up until a few minutes ago I was having the same problem and was hoping there would be an answer here.
I'll describe my problem and solution:
Problem: I didn't get any location updates without an internet connection while using Google Play services LocationClient. GPS enabled.
My code was stable and working with Internet available, but field tests failed.
Possible root causes: 1) LocationClient sucked 2) location client didn't get any gps updates
Solution: To test this I tried using the google maps app. It complained without an internet connection, so I gave it one. Then I tried to locate myself, but a new screen popped up saying that I had to allow "google apps" to access my location. It said that this would not affect 3rd party apps not from google, which turned out to be complete bullshit. When I enabled "only google apps" to access my location my own app suddenly kicked into action within seconds. Developing for android has been full of these "Google moments".