Guia do desenvolvedor

Local Navigation

Recuperar um provedor de localização usando a classe LocationProvider

  1. Importe as classes necessárias.
    import javax.microedition.location.*;
  2. Crie uma classe e um construtor.
    public class handleGPS
    {
       public handleGPS()
       {
       }
    }
  3. No construtor, crie uma instância da classe Criteria.
    Criteria myCriteria = new Criteria();
  4. No construtor, configure o objeto Criteria para usar o modo especificado de GPS. Na amostra de código a seguir, o modo autônomo é especificado invocando-se setCostAllowed(false).
    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. No construtor, crie um bloco try/catch. Dentro do bloco, crie um objeto LocationProvider invocando getInstance().
    try
    {
        LocationProvider myProvider =
            LocationProvider.getInstance(myCriteria);
    }
    catch ( LocationException lex )
    {
        return;
    }

Exemplo de código: Recuperar um provedor de localização usando a classe LocationProvider

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;
        }
    }
}

Estas informações foram úteis? Gostaríamos de receber seus comentários.