Guida allo sviluppo

Local Navigation

Controllo del rilevamento della posizione utilizzando la classe BlackBerryLocationProvider

È possibile sospendere, riprendere e interrompere il rilevamento della posizione utilizzando la classe net.rim.device.api.gps.BlackBerryLocationProvider.
  1. Importare le classi richieste.
    import net.rim.device.api.gps.*;
    import javax.microedition.location.*;
  2. Creare una nuova classe e un costruttore.
    public class handleGPS
    {
        static BlackBerryLocationProvider myProvider;
        public handleGPS()
        {
        }
    }
  3. Nel costruttore, creare un blocco try/catch. Nel blocco, creare un'istanza della classe BlackBerryCriteria passando la modalità GPS come parametro al costruttore.
    try
    {
        BlackBerryCriteria myCriteria =
          new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS);
    }
    catch ( UnsupportedOperationException uoex )
    {
        return;
    }
  4. Nella parte try del blocco, creare un nuovo blocco try/catch. In questo blocco, creare un'istanza della classe BlackBerryLocationProvider recuperando un'istanza della classe BlackBerryCriteria. Richiamare setLocationListener() passando il valore di intervallo, il valore di timeout e la durata massima come parametri per aggiungere un elemento 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. All'esterno del blocco try/catch, richiamare pauseLocationTracking(), resumeLocationTracking() o stopLocationTracking() per sospendere, riprendere o interrompere il rilevamento della posizione.
    myProvider.pauseLocationTracking(30);
    myProvider.resumeLocationTracking();
    myProvider.stopLocationTracking();
  6. Nella classe, implementare l'interfaccia LocationListener. Implementare il framework di base per il metodo locationUpdated() e il metodo 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 informazioni sono state utili? Inviateci i vostri commenti.