LocationManager funktioniert nicht sofort beim Handyneustart

  • Hallo zusammen,
    mit:

    Code
    String provider = mylocationManager.getBestProvider(criteria, true);	   location = mylocationManager.getLastKnownLocation(provider);



    rufe ich im onResume() die Koordinaten des Standorts ab.
    Das funktioniert solange das Handy nicht neu gebootet wurde.
    Nach einem Neustart des Handy liefert der LocationManager NULL zurück.
    Erst nach ein paar Minuten stehen die Koordinaten in der Variablen.


    Ist das bei allen Handys so?



    Ich danke für eure Meinungen


    Gruss KHH

  • Naja, der GPS Chip muss ja erst mal hochfahren und ein halbwegs passables Signal bekommen.
    Bei GPS Geräten ist es auch normal, dass sie sich erst zu einer Positionsbestimmung hinreißen lassen, wenn sie genügend Satelliten um sich haben.


    Ich würde sagen, dass das völlig normal ist.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Wenn niemand jemals GPS gestartet hat, dann gibt es auch keine getLastKnownLocation(). Woher sollte der LocationManager sie auch kennen, wenn er nie eine Location abgerufen hat?
    Sobald du dich via requestLocationUpdates() rein hängst, wird GPS gestartet und du bekommst eine getLastKnownLocation() zusätzlich zu den neuen Updates.


    Ich denke mal, das soll Performancegründe haben. Wenn deine App mit GPS schlafen geht, du sie aufweckst und sich GPS erst langwierig wieder verbinden will, kannst du immerhin auf eine zuletzt bekannte Location zurückgreifen, um nicht völlig ohne Daten da zu stehen.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Nu klappts auch bei mir der getLastKnownLocation Methode :) .


    Ich dachte es würde reichen das GPS überhaupt einmal zu starten also z.b. durch GoogleMaps oder ähnliche Sachen.
    Nach einem requestSingleUpdate(); erhalte ich auch eine LastKnownLocation.


    Wieder mal was gelernt --- das wird noch ein weiter Weg B-) .

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!