Entwicklungshandbuch

Local Navigation

Abfragen von Standortquellen

Standortdaten können mithilfe verschiedener Standortquellen, wie z. B. einem internen GPS-Empfänger, einem externen GPS-Empfänger oder einen Geolocation-Dienst, abgerufen werden. Bevor Sie Standortdaten abrufen, sollten Sie überprüfen, welche Standortquellen vom BlackBerry-Gerät unterstützt werden und ob die Standortquelle verfügbar ist. Eine Standortquelle wird u. U. aus folgenden Gründen nicht unterstützt:

  • Die Standortquelle wird von der Gerätehardware nicht unterstützt.
  • Die Standortquelle wurde vom Mobilfunkanbieter deaktiviert (kein Servicebuch vorhanden).
  • Wenn die mobile Netzwerkverbindung deaktiviert ist, wird die Standortquelle für Geolocation über Mobilfunk nicht unterstützt. Die Standortquelle für GPS wird unterstützt, jedoch kann der erste erfolgreiche Abruf von Positionsdaten längere Zeit in Anspruch nehmen.
  • Wenn die Wi-Fi-Verbindung deaktiviert ist, wird die Standortquelle für Geolocation über WLAN-Zugriffspunkte nicht unterstützt.
  • Wenn die Netzwerkkonnektivität unzureichend ist, wird die Geolocation-Standortquelle nicht unterstützt.

Eine Standortquelle ist verfügbar, wenn alle Einstellungen für die Quelle aktiviert sind. Eine Standortquelle kann unterstützt, jedoch auf dem Gerät nicht verfügbar sein (z. B. wenn der BlackBerry-Gerätebenutzer die Standortquelle deaktiviert hat).

Die Standortquellen sind in den GPSInfo- und LocationInfo-Klassen als Konstanten definiert. Die Konstanten können einen der folgenden Werte haben:

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

Sie können Standortquelle mithilfe der folgenden Methoden, die in der net.rim.device.api.gps.LocationInfo-Klasse definiert sind, abfragen:

Methode

Beschreibung

getSupportedLocationSources()

Diese Methode gibt eine Ganzzahlmaske zurück, die die Standortquellen darstellt, die vom Gerät unterstützt werden.

isLocationSourceSupported(int mode)

Diese Methode gibt einen Wert der Art true zurück, wenn die von Ihnen festgelegte Quelle auf dem Gerät unterstützt wird.

getAvailableLocationSources()

Diese Methode gibt eine Ganzzahlmaske zurück, die die Standortquellen darstellt, die vom Gerät unterstützt werden. Eine Standortquelle ist verfügbar, wenn sie unterstützt wird und für die Verwendung aktiviert ist.

isLocationSourceAvailable(int mode)

Diese Methode gibt einen Wert der Art true zurück, wenn der von Ihnen festgelegte Modus für die Bereitstellung von Standortinformationen verfügbar ist.

Codebeispiel: Überprüfen, ob Standortquellen unterstützt werden

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

Codebeispiel: Überprüfen, ob Standortquellen verfügbar sind

if (LocationInfo.getAvailableLocationSources() != 0)

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.