Guia do desenvolvedor

Local Navigation

Controlar o rastreamento usando a classe BlackBerryLocationProvider

Você pode pausar, continuar e parar o rastreamento de localização usando a classe net.rim.device.api.gps.BlackBerryLocationProvider.
  1. Importe as classes necessárias.
    import net.rim.device.api.gps.*;
    import javax.microedition.location.*;
  2. Crie uma nova classe e um construtor.
    public class handleGPS
    {
        static BlackBerryLocationProvider myProvider;
        public handleGPS()
        {
        }
    }
  3. No construtor, crie um bloco try/catch. No bloco, crie uma instância da classe BlackBerryCriteria fornecendo o modo de GPS como parâmetro para o construtor.
    try
    {
        BlackBerryCriteria myCriteria =
          new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS);
    }
    catch ( UnsupportedOperationException uoex )
    {
        return;
    }
  4. Na parte try do bloco, crie um novo bloco try/catch. Nesse bloco, crie uma instância da classe BlackBerryLocationProvider carregando uma instância da classe BlackBerryCriteria. Invoque setLocationListener() fornecendo o valor de intervalo, valor de limite de tempo e idade máxima como parâmetro para adicionar um LocationListener.
    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. Fora do bloco try/catch, invoque pauseLocationTracking(), resumeLocationTracking() ou stopLocationTracking() para pausar, continuar ou parar o rastreamento de localização.
    myProvider.pauseLocationTracking(30);
    myProvider.resumeLocationTracking();
    myProvider.stopLocationTracking();
  6. Na classe, implemente a interface LocationListener. Implemente a estrutura básica do método locationUpdated() e do método providerStateChanged().
    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 )
            {}
        }
    }

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