Guía de desarrollo

Local Navigation

Consultar las fuentes de ubicación

Los datos de ubicación se pueden recuperar utilizando varias fuentes de ubicación, por ejemplo, un receptor GPS interno, un receptor GPS externo, o un servicio de geoubicación. Antes de recuperar los datos de ubicación, debe comprobar con qué fuentes de ubicación es compatible el dispositivo BlackBerry y si la fuente de ubicación está disponible. Puede que la fuente de ubicación no sea compatible por las razones siguientes:

  • La fuente de ubicación no es compatible con el hardware del dispositivo.
  • La fuente de ubicación ha sido desactivada por el proveedor de servicios inalámbricos (no hay libro de servicios).
  • Si la conexión de red móvil está desactivada, la fuente de ubicación para la geoubicación de la estación base no será compatible pero la fuente de ubicación para GPS sí lo es, no obstante, puede tardar en detectar la primera posición.
  • Si la conexión Wi-Fi está desactivada, la fuente de ubicación para geoubicación mediante el uso de puntos de acceso de WLAN no será compatible.
  • Si hay insuficiente conectividad de red, la fuente de ubicación de geoubicación no será compatible.

Hay disponible una fuente de ubicación si todas las opciones de configuración están activadas para la fuente. Sin embargo, aunque la fuente de ubicación sea compatible, podría no estar disponible en el dispositivo (por ejemplo, el usuario del dispositivo BlackBerry ha desactivado la fuente de ubicación).

Las fuentes de ubicación se definen como constantes en las clases GPSInfo y LocationInfo. Las constantes pueden ser cualquiera de los valores siguientes:

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

Puede consultar las fuentes de la ubicación utilizando los siguientes métodos definidos en la clase net.rim.device.api.gps.LocationInfo:

Método

Descripción

getSupportedLocationSources()

Este método devuelve una máscara de número entero que representa las fuentes de ubicación con las que es compatible el dispositivo.

isLocationSourceSupported(int mode)

Este método devuelve un valor de true si la fuente que ha especificado es compatible con el dispositivo.

getAvailableLocationSources()

Este método devuelve una máscara de número entero que representa las fuentes de ubicación con las que es compatible el dispositivo. Hay disponible una fuente de ubicación si es compatible y está activada para su uso.

isLocationSourceAvailable(int mode)

Este método devuelve un valor de true si el modo que ha especificado está disponible para proporcionar información de ubicación.

Ejemplo de código: comprobar si las fuentes de ubicación son compatibles

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

Ejemplo de código: comprobar si hay disponibles fuentes de ubicación

if (LocationInfo.getAvailableLocationSources() != 0)

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