Entwicklungshandbuch

Local Navigation

Abrufen eines Standortanbieters mithilfe der LocationProvider-Klasse

  1. Importieren Sie die erforderlichen Klassen.
    import javax.microedition.location.*;
  2. Erstellen Sie eine Klasse und einen Konstruktor.
    public class handleGPS
    {
       public handleGPS()
       {
       }
    }
  3. Erstellen Sie im Konstruktor eine Instanz der Criteria-Klasse.
    Criteria myCriteria = new Criteria();
  4. Konfigurieren Sie im Konstruktor das Criteria-Objekt für die Verwendung des festgelegten GPS-Modus. Im folgenden Codebeispiel wird der autonome Modus durch Aufrufen von setCostAllowed(false) festgelegt.
    int myMode = 2; // AUTONOMOUS
    switch ( myMode )
    {
       case 0: // CELLSITE
          myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
          myCriteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
          myCriteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
          myCriteria.setCostAllowed(true);
          break;
       case 1: // ASSIST
          myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM);
          myCriteria.setHorizontalAccuracy(100);
          myCriteria.setVerticalAccuracy(100);
          myCriteria.setCostAllowed(true);
          break;
       case 2: // AUTONOMOUS
          myCriteria.setCostAllowed(false);
          break;
    }
  5. Erstellen Sie im Konstruktor einen try/catch-Block. Erstellen Sie innerhalb des Blocks ein LocationProvider-Objekt durch Aufrufen von getInstance().
    try
    {
        LocationProvider myProvider =
            LocationProvider.getInstance(myCriteria);
    }
    catch ( LocationException lex )
    {
        return;
    }

Codebeispiel: Abrufen eines Standortanbieters mithilfe der LocationProvider-Klasse

import javax.microedition.location.*;
public class handleGPS
{
    public handleGPS()
    {
        Criteria myCriteria = new Criteria();
        int myMode = 2; // AUTONOMOUS
        switch ( myMode )
        {
            case 0: // CELLSITE
                myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
                myCriteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
                myCriteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
                myCriteria.setCostAllowed(true);
                break;
            case 1: // ASSIST
                myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM);
                myCriteria.setHorizontalAccuracy(100);
                myCriteria.setVerticalAccuracy(100);
                myCriteria.setCostAllowed(true);
                break;
            case 2: // AUTONOMOUS
                myCriteria.setCostAllowed(false);
                break;
        }
        try
        {
            LocationProvider myProvider = LocationProvider.getInstance(myCriteria);
        }
        catch ( LocationException lex )
        {
            return;
        }
    }
}

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.