2012-04-14 10 views
0

Ich möchte eine einfache Aktivität machen, die GPS-Signalstärke und Genauigkeit öffnet und anzeigt. Ich verstehe Sie verwenden:Wie wird die Stärke und Genauigkeit des GPS-Signals angezeigt? Android

locationManager.getGpsStatus(); 

UND

location.getAccuracy(); 

Diese Aktivität im ‚Preference-Menü‘ angezeigt werden wird (Ich werde eine Präferenz haben, der sagt „GPS-Signal-Status“ - das kann zeigen Sie dem Benutzer eine grundlegende Signalstärke und Genauigkeit.

Allerdings finde ich es schwierig zu implementieren.Ich habe bereits eine Google Maps-Aktivität erstellt, die Benutzerstandort zeigt.Ich möchte nur, dass es den Status in dieser Präferenz anzeigt, geben der Benutzer eine "erweiterte" Funktion.

Prost,

Zukky.

Antwort

1

Das Genauigkeitsfeld wird von der Position aus ausgefüllt, an der onLocationChanged() ausgelöst wird, es ist nicht auf Abruf verfügbar. Die Genauigkeit kann zwischen aufeinanderfolgenden Fixes stark variieren. Das übliche Verfahren zum Übermitteln dieser Information an den Benutzer besteht darin, eine halbtransparente kreisförmige Überlagerung mit einem Radius zu überlagern, der gleich der Genauigkeit oberhalb der angezeigten Karte ist.

"Signalstärke" ist kein Feld, das von einem Standort erhalten werden kann. Sie können Felder für den SNR für jeden Satelliten und ein Maß für "Qualität" erhalten, wenn Sie in Ihrer Aktivität einen NmeaListener implementieren und einen eigenen NMEA-Parser schreiben, um die Daten zu extrahieren. NMEA-Datensätze sind aufgeführt here.