BroadcastReceiver se dispara varias veces (PROVIDERS_CHANGED_ACTION)

¿Por qué BroadcastReceiver fue desencadenar varias veces.

Mi proyecto de muestra es como debajo del código

ANDROID MANIFEST

  <receiver android:name=".LocationProvideListener" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.location.PROVIDERS_CHANGED"/> </intent-filter> </receiver> 

RECEPTOR BBROADCAST

 public class LocationProvideListener extends BroadcastReceiver { private static final String TAG = "LocationProvideListener"; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().matches(LocationManager.PROVIDERS_CHANGED_ACTION)) { // react on GPS provider change action LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); boolean isNetwork = manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); boolean isGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER); Log.e(TAG, "IsNetwork = " + (isNetwork ? "true" : "false")); Log.e(TAG, "IsGPS = " + (isGPS ? "true" : "false")); } } } 

REGISTRO (CUANDO ENCENDE LA UBICACIÓN)

 07-22 12:09:47.275 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsNetwork = false 07-22 12:09:47.275 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsGPS = true 07-22 12:09:47.778 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsNetwork = false 07-22 12:09:47.778 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsGPS = true 07-22 12:09:48.115 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsNetwork = false 07-22 12:09:48.115 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsGPS = true 

REGISTRO (CUANDO ACEPTA LA PERMISIÓN)

 07-22 12:09:55.412 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsNetwork = true 07-22 12:09:55.412 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsGPS = true 

REGISTRO (CUANDO APAGUE LA UBICACIÓN)

 07-22 12:10:04.856 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsNetwork = false 07-22 12:10:04.856 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsGPS = false 07-22 12:10:04.941 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsNetwork = false 07-22 12:10:04.941 22176-22176/com.example.checkLocationProvider E/LocationProvideListener﹕ IsGPS = false 

  • Receptor de difusión para detectar el inicio de la aplicación
  • Llevar el frente de actividad de toda la aplicación en ejecución
  • Android se comunica entre la actividad y el receptor de radiodifusión
  • BroadcastReceiver no funciona correctamente a menos que se registre manualmente
  • El receptor de la difusión para comprobar la conexión a internet se llama dos veces cuando desconecto el wifi
  • Android capturando el volumen hacia arriba / hacia abajo presiona teclas en receptor de difusión?
  • Transmisión de Android del servicio a la actividad
  • Informar la actividad de un BroadcastReceiver SÓLO si está en primer plano
  • Tratando de tener un Receptor Broadcast sin filtro
  • ¿Qué es 'action android: name = "com.android.vending.INSTALL_REFERRER"'?
  • Llamar a SetContentView () desde el receptor de difusión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.