Guide de développement

Local Navigation

Interrogation de sources d'emplacement

Les données de position peuvent être récupérées auprès de différentes sources d'emplacement, comme un récepteur GPS interne, un récepteur GPS externe ou un service de géolocalisation. Avant de récupérer les données de position, vérifiez quelles sources sont prises en charge par le terminal BlackBerry et si la source est disponible. Une source d'emplacement risque de ne pas être prise en charge pour les raisons suivantes :

  • La source d'emplacement n'est pas prise en charge par le matériel du terminal.
  • La source est désactivée par le fournisseur de services sans fil (pas d'annuaire de services).
  • Si la connexion au réseau sans fil est désactivée, la source d'emplacement pour la géolocalisation par antenne relais n'est pas prise en charge, mais la source d'emplacement par GPS est prise en charge ; toutefois l'acquisition de la première position peut être lente.
  • Si la connexion Wi-Fi est désactivée, la source d'emplacement pour la géolocalisation à l'aide des points d'accès WLAN n'est pas prise en charge.
  • Si la connectivité réseau est insuffisante, la source d'emplacement par géolocalisation n'est pas prise en charge.

Une source d'emplacement est disponible si tous les paramètres sont activés pour la source. Cependant, une source d'emplacement peut être prise en charge mais être indisponible sur le terminal (par exemple, l'utilisateur de terminal BlackBerry a désactivé la source d'emplacement).

Les sources d'emplacement sont définies comme constantes dans les classes GPSInfo et LocationInfo. Les constantes peuvent être de l'une des valeurs suivantes :

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

Vous pouvez interroger les sources d'emplacement à l'aide des méthodes suivantes définies dans la classe net.rim.device.api.gps.LocationInfo :

Méthode

Description

getSupportedLocationSources()

Cette méthode renvoie un masque de nombre entier qui représente les sources d'emplacement prises en charge par le terminal.

isLocationSourceSupported(int mode)

Cette méthode renvoie une valeur true (vrai) si la source que vous spécifiez est prise en charge sur le terminal.

getAvailableLocationSources()

Cette méthode renvoie un masque de nombre entier qui représente les sources d'emplacement prises en charge par le terminal. Une source d'emplacement est disponible si elle est prise en charge et activée pour être utilisée.

isLocationSourceAvailable(int mode)

Cette méthode renvoie une valeur true (vrai) si le mode que vous spécifiez est disponible pour fournir les informations d'emplacement.

Échantillon de code : vérification de la prise en charge des sources d'emplacement

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

Échantillon de code : vérification de la disponibilité des sources d'emplacement

if (LocationInfo.getAvailableLocationSources() != 0)

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.