Guia do desenvolvedor

Local Navigation

Consultar fontes de localização

Os dados de localização podem ser recuperados usando várias fontes de localização, tais como um receptor interno de GPS, um receptor externo de GPS ou um serviço de localização geográfica. Antes de recuperar dados de localização, você deve verificar quais fontes de localização o aparelho BlackBerry suporta e se a fonte de localização está disponível. Uma fonte de localização pode não ser suportada pelas seguintes razões:

  • A fonte de localização não é suportada pelo hardware do aparelho.
  • A fonte de localização foi desativada pelo provedor de serviços sem fio (nenhum caderno de serviços presente).
  • Se a conexão de rede móvel for desativada, a fonte de localização para localização geográfica da estação rádio-base não será suportada, mas a fonte de localização para GPS será suportada; no entanto, o tempo para o primeiro ajuste pode ser lento.
  • Se a conexão Wi-Fi for desativada, a fonte de localização geográfica usando pontos de acesso de WLAN não será suportada.
  • Se houver conectividade insuficiente de rede, a fonte de localização geográfica não será suportada.

Uma fonte de localização está disponível se todas as configurações forem ativadas para a fonte. No entanto, uma fonte de localização pode ser suportada, mas talvez esteja indisponível no aparelho (por exemplo, o usuário do aparelho BlackBerry desativou a fonte de localização).

As fontes de localização são definidas como constantes nas classes GPSInfo e LocationInfo. As constantes podem ser um dos seguintes valores:

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

Você pode inquirir fontes de localização usando os seguintes métodos que são definidos na classe net.rim.device.api.gps.LocationInfo:

Método

Descrição

getSupportedLocationSources()

Este método retorna uma máscara de número inteiro que representa as fontes de localização que o aparelho suporta.

isLocationSourceSupported(int mode)

Esse método retorna um valor de true se a fonte que você especificar for suportada no aparelho.

getAvailableLocationSources()

Este método retorna uma máscara de número inteiro que representa as fontes de localização que o aparelho suporta. Uma fonte de localização estará disponível se for suportada e habilitada para uso.

isLocationSourceAvailable(int mode)

Esse método retorna um valor de true se o modo que você especificar estiver disponível para fornecer informações de localização.

Exemplo de código: Verificar se as fontes de localização são suportadas

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

Exemplo de código: Verificar se alguma fonte de localização está disponível

if (LocationInfo.getAvailableLocationSources() != 0)

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