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 -~----------~----~----~----~------~----~------~--~---

