warten auf GPS Empfang

  • Hi Leute,


    ich habe das Problem, dass ich nicht weiß wie ich mein skript solange warte lassen kann bis das Handy GPS Empfang hat. Aber auch generell wüsste ich gerne wie ein skipt solagen warten lasse, bis eine bestimme aktion aufgeführt wurde.



    lg


    paddy

  • Mit dem GPS-Empfang ist das so eine Sache - die Zeit ist kein wirklich gutes Kriterium für eine gute Positionsbestimmung.


    Besser ist es, einen Service für GPS-Empfang zu starten, der in mehr oder weniger regelmäßigen Abständen Mitteilungen vom GPS-Empfänger bekommt und sich aus den Daten "das beste" raussucht.


    Wenn der Benutzer dann einige Aktionen macht, vergeht einige Zeit und dann irgendwann (z.B. bei onPause der Activity) kannst du dann eine recht gute Position von deinem Service abfragen. Dann kannst du den Service auch stoppen, damit er nicht später irgendwelche unerwarteten Fehlermeldungen von sich gibt...


    Was aber eine "gute Position" ist, kannst du auch aus den Positionsdaten entnehmen, in einem Positions-Datensatz ist auch eine Angabe zur Genauigkeit.


    Die Android-Doku hat zum Thema Positionsbestimmung auch einen längeren Artikel, je nach Anwendung sind unterschiedliche Strategien sinnvoll.

  • UweApps sorry ich habe mich falsch ausgedrückt .... Ich wollte warten bis ich überhaupt GPS daten empfangen, d.h sicherstellen, dass meine App GPS Satelliten gefunden hat und diese auch ansteuert. Das Empfangen an sich ist kein Problem.


    Matze thx für deine Antwort ich probiers gleich aus


    Vielen Dank trotzdem für eure Antworten

  • Aber dann bitte in einen anderen Thread auslagern, wenn du Thread.sleep in deinem Mainprogramm machst, legst du den UI-Thread lahm und dein Programm ist nicht mehr "responsiv" sprich nicht mehr ansprechbar und wirft dir einen ANR-Error.

  • @ killphil75 sag mal bist du ein hellsehere ? ok also meine App schmiert gerade dauerhaft ab und ich bekomme es nicht hin ein ganz stinknormalen thread aufzubauen. was ich gemacht habe ist eine public void Thead() und darin dann new Thread (new Runnable() { // Threadcode}); ich habe diesen Thread bewusst nicht gestartet und trotzdem schmiert es ab. Bitte schreib mir wie ich einen Thread richtig aufbaue oder wo es dazu vllt ein Tutorial gitb


    thx

  • Also ich hab mich jetzt durch ein paar Tutorials durchgearbeitet ( unter anderem auch die von killphil75 [thx nochmal] ) doch leider funktioniert es immer noch nicht !!!! =) meine app stürzt dauerhaft ab.
    Ok kann mir bitte einfach jemand ein Code schicken wie ein Thread funktioniert und was für Rechte man brauchte etc .... Ich bekomm es einfach nicht hin trozt der Tutorials. Danke im vorraus =)


    lg


    paddy

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!