Guía de desarrollo

Local Navigation

Controlar el rastreo de ubicaciones utilizando la clase BlackBerryLocationProvider

Puede pausar, reanudar y detener el rastreo de ubicaciones mediante la clase net.rim.device.api.gps.BlackBerryLocationProvider.
  1. Importe las clases necesarias.
    import net.rim.device.api.gps.*;
    import javax.microedition.location.*;
  2. Cree una clase y un constructor nuevos.
    public class handleGPS
    {
        static BlackBerryLocationProvider myProvider;
        public handleGPS()
        {
        }
    }
  3. En el constructor, cree un bloque try/catch. En este bloque, cree una instancia de la clase BlackBerryCriteria pasando el modo GPS como parámetro al constructor.
    try
    {
        BlackBerryCriteria myCriteria =
          new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS);
    }
    catch ( UnsupportedOperationException uoex )
    {
        return;
    }
  4. En la parte try del bloque, cree un bloque try/catch nuevo. En este bloque, cree una instancia de la clase BlackBerryLocationProvider recuperando una instancia de la clase BlackBerryCriteria. Invoque setLocationListener() pasando el valor del intervalo, el valor de tiempo de espera y la edad máxima como parámetros para agregar un 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. Fuera del bloque try/catch, invoque pauseLocationTracking(), resumeLocationTracking(), o stopLocationTracking() para pausar, reanudar o detener l rastreo de ubicaciones.
    myProvider.pauseLocationTracking(30);
    myProvider.resumeLocationTracking();
    myProvider.stopLocationTracking();
  6. En la clase, implemente la interfaz LocationListener. Implemente el marco básico para el método locationUpdated() y el 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 )
            {}
        }
    }

¿Le ha resultado útil esta información? Envíenos sus comentarios.