Gps-status aktiviert/deaktiviert broadcast receiver

Ich m versuchen zu registrieren, ein broadcast receiver, um updates zu erhalten, wenn der gps-status ist geändert.

Aber, meine GpsChangeReceiver onReceive-Methode scheint nicht aufgerufen zu werden, wenn der gps-status ist geändert von aktiviert zu deaktiviert oder Umgekehrt.

Zunächst, ich bin die Registrierung der Empfänger:

      GpsChangeReceiver m_gpsChangeReceiver = new GpsChangeReceiver();
      this.registerReceiver(m_gpsChangeReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));

Dann habe ich meinen gps-Empfänger

   public class GpsChangeReceiver   extends BroadcastReceiver
{   
  @Override
  public void onReceive( Context context, Intent intent )
  {
      final LocationManager manager = (LocationManager) context.getSystemService( Context.LOCATION_SERVICE );
          if (manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ) {
         //do something
            }
         else
         {
            //do something else
         }
  }
}

Endlich, mein manifest enthält:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Kann jemand sehen, warum der gps-Empfänger wird nie aufgerufen, wenn ich ändern Sie seinen status vom Telefon s Einstellungen??

InformationsquelleAutor der Frage Dan Dinu | 2012-09-30

Schreibe einen Kommentar