Guida allo sviluppo

Local Navigation

Recupero delle origini di posizione

I dati sulla posizione possono essere recuperati utilizzando varie origini di posizione, ad esempio un ricevitore GPS interno, un ricevitore GPS esterno o un servizio di geolocation. Per recuperare i dati sulla posizione, è necessario verificare le origini di posizione supportate dal dispositivo BlackBerry e se l'origine della posizione è disponibile. Un'origine della posizione potrebbe non essere supportata per le seguenti ragioni:

  • L'origine della posizione non è supportata dall'hardware del dispositivo.
  • L'origine della posizione è disattivata dal provider di servizi wireless (nessun dato di configurazione presente).
  • Se la connessione alla rete mobile è disattivata, l'origine della posizione per il servizio di geolocation tramite il ripetitore per cellulari non è supportata, mentre lo è l'origine della posizione per il GPS. Tuttavia, potrebbe essere richiesto molto tempo per ottenere il primo fix.
  • Se la connessione Wi-Fi è disattivata, l'origine della posizione per il servizio di geolocation tramite i punti di accesso di WLAN non è supportata.
  • Se la connettività di rete è insufficiente, l'origine della posizione per il servizio di geolocation non è supportata.

Un'origine della posizione è disponibile se tutte le impostazioni sono attivate per l'origine. Tuttavia, un'origine della posizione potrebbe essere supportata ma non disponibile sul dispositivo (ad esempio, l'utente BlackBerry ha disattivato l'origine della posizione).

Le origini di posizione sono definite come costanti nelle classi GPSInfo e LocationInfo. Le costanti possono essere espresse da uno dei seguenti valori:

  • GPSInfo.GPS_DEVICE_INTERNAL
  • GPSInfo.GPS_DEVICE_BLUETOOTH
  • LocationInfo.LOCATION_SOURCE_GEOLOCATION
  • LocationInfo.LOCATION_SOURCE_GEOLOCATION_CELL
  • LocationInfo.LOCATION_SOURCE_GEOLOCATION_WLAN

È possibile richiedere le origini di posizione utilizzando uno dei metodi seguenti definiti nella classe net.rim.device.api.gps.LocationInfo:

Metodo

Descrizione

getSupportedLocationSources()

Questo metodo restituisce una maschera di numeri interi che rappresenta le origini di posizione supportate dal dispositivo.

isLocationSourceSupported(int mode)

Questo metodo restituisce il valore true se l'origine specificata è supportata dal dispositivo.

getAvailableLocationSources()

Questo metodo restituisce una maschera di numeri interi che rappresenta le origini di posizione supportate dal dispositivo. Un'origine della posizione è disponibile se è supportata e attivata per l'uso.

isLocationSourceAvailable(int mode)

Questo metodo restituisce il valore true se la modalità specificata è disponibile per fornire informazioni sulla posizione.

Esempio di codice: verifica del supporto delle origini di posizione

int locationCapability = LocationInfo
        .getSupportedLocationSources();
boolean gps = (locationCapability & (GPSInfo.GPS_DEVICE_INTERNAL | 
        GPSInfo.GPS_DEVICE_BLUETOOTH)) != 0

Esempio di codice: verifica della disponibilità delle origini di posizione

if (LocationInfo.getAvailableLocationSources() != 0)

Le informazioni sono state utili? Inviateci i vostri commenti.