I, like many, have been writing a Service utilizing location (GPS)
data. As this service is spinning/waiting in the background I would
like to requestLocationUpdates when the GPS is enabled and de-register
for the updates when disabled. So, it seemed like the correct place to
do this was in the onProviderDisabled and onProviderEnabled methods of
the LocationListener I specified.

So, long story short is I have logged the number of times these event
are called when the GPS is enabled/disabled via the settings. Below is
a sample log that was generated.

The scenario below is as follows:

1.) The service is started with GPS disabled in the settings.
2.) The GPS is then enabled via settings.

#log4j
INFO - GPS provider is not enabled.
INFO - Created the service.
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - Provider disabled: gps
INFO - Provider disabled: gps
INFO - Provider enabled: gps
INFO - Provider enabled: gps
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 1
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2
INFO - onStatusChanged: gps Status: 2

For clarification:

The lines "INFO - Provider enabled: gps" are generated via the
onProviderEnabled method, showing the provider string.
The lines "INFO - Provider disabled: gps" are generated via the
onProviderDisabled method.
The lines "INFO - onStatusChanged: gps Status: 1" are generated via
the onStatusChanged, showing the status int.

So, any ideas why these methods are called so many times. Why is
onProviderDisabled called when the GPS is clearly enabled? Is there a
more appropriate place to register/de-register for location updates?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to