Detectando el interruptor con./desc. Del GPS en teléfonos androids

Me gustaría detectar cuándo el usuario cambia la configuración de GPS activada o desactivada para un teléfono con Android. Significado cuando el usuario enciende / apaga el satélite GPS o la detección a través de puntos de acceso, etc.

Como he descubierto, la mejor manera de hacerlo es adjuntar a la

 

intención.

Por ejemplo:

       

Y luego en el código:

 public class GpsLocationReceiver extends BroadcastReceiver implements LocationListener ... @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) { // react on GPS provider change action } } 

Prueba esto,

 try { locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { Log.i("About GPS", "GPS is Enabled in your devide"); } else { //showAlert } 

Impement android.location.LocationListener, allí tienes dos funciones

 public void onProviderEnabled(String provider); public void onProviderDisabled(String provider); 

Al usar esto, puede averiguar cuándo se enciende o apaga el proveedor solicitado.