Entwicklungshandbuch

Local Navigation

Steuern der Standorterfassung mithilfe der BlackBerryLocationProvider-Klasse

Sie können die Standorterfassung mithilfe der net.rim.device.api.gps.BlackBerryLocationProvider-Klasse anhalten, wieder aufnehmen und beenden.
  1. Importieren Sie die erforderlichen Klassen.
    import net.rim.device.api.gps.*;
    import javax.microedition.location.*;
  2. Erstellen Sie eine neue Klasse und einen Konstruktor.
    public class handleGPS
    {
        static BlackBerryLocationProvider myProvider;
        public handleGPS()
        {
        }
    }
  3. Erstellen Sie im Konstruktor einen try/catch-Block. Erstellen Sie im Block eine Instanz der BlackBerryCriteria-Klasse, indem Sie den GPS-Modus als Parameter an den Konstruktor übergeben.
    try
    {
        BlackBerryCriteria myCriteria =
          new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS);
    }
    catch ( UnsupportedOperationException uoex )
    {
        return;
    }
  4. Erstellen Sie im try-Teil des Blocks einen neuen try/catch-Block. Erstellen Sie in diesem Block eine Instanz der BlackBerryLocationProvider-Klasse, indem Sie eine Instanz der BlackBerryCriteria-Klasse abrufen. Rufen Sie setLocationListener() auf, indem Sie den Intervallwert, den Timeout-Wert und die maximale Verfallfrist als Parameter übergeben, um einen LocationListener hinzuzufügen.
    try
    {
        myProvider = (BlackBerryLocationProvider)
          LocationProvider.getInstance(myCriteria);
        myProvider.setLocationListener(new handleGPSListener(), 10, -1, -1);
    }
    catch ( LocationException lex )
    {
        return;
    }
    myProvider.pauseLocationTracking(30);
    myProvider.resumeLocationTracking();
    myProvider.stopLocationTracking();
  5. Rufen Sie außerhalb des try/catch-Blocks pauseLocationTracking(), resumeLocationTracking() oder stopLocationTracking() auf, um die Standorterfassung anzuhalten, wieder aufzunehmen oder zu beenden.
    myProvider.pauseLocationTracking(30);
    myProvider.resumeLocationTracking();
    myProvider.stopLocationTracking();
  6. Implementieren Sie in der Klasse die LocationListener-Schnittstelle. Implementieren Sie das grundlegende Framework für die locationUpdated()-Methode und die providerStateChanged()-Methode.
    public static class handleGPSListener implements LocationListener
    {
        public void locationUpdated(LocationProvider provider, Location location)
        {
            if (location.isValid())
            {}
            else
            {}
        }
        public void providerStateChanged(LocationProvider provider, int newState)
        {
            if (newState == LocationProvider.AVAILABLE)
            {}
            else if (newState == LocationProvider.OUT_OF_SERVICE)
            {}
            else if (newState == LocationProvider.TEMPORARILY_UNAVAILABLE )
            {}
        }
    }

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.