how to get gps-Position android
Ich versuche, eine ständige gps-listener, der sendet seine Position (long und lat-Koordinaten) auf einem web-server alle x Minuten. Auf einen button klicken, schickt er auch seine Lage an den webserver. Ich merke, dass das gps-signal, das Sie geben an, wie oft eine position zu finden, aber wie kann ich ein Programm schreiben, das kann die gps-Position und sendet seine Koordinaten alle x-Minuten (auch in den hintergrund, wenn nicht und durch einen Knopf zu drücken?
//in dem Sie auf klicken Sie auf
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, whatshouldIputhere?, 0, this);
und
public void onLocationChanged(Location location) {
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
}
}
Sie möglicherweise verwenden möchten, ein higher-level-API, die hat eine einfachere Schnittstelle und kommt mit zusätzlichen Funktionen: github.com/delight-im/Android-SimpleLocation
überprüfen Sie, out github.com/meetmehdi/GetAccurateLocation
überprüfen Sie, out github.com/meetmehdi/GetAccurateLocation
InformationsquelleAutor Sean | 2011-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich dieses arbeiten:
Ist es einfach. Es wird die best mögliche provider und bekommt seine Letzte bekannte position.
Wenn Sie wollen, dass es nur mit dem GPS, versuchen diese.
Hoffe, es hilft!
BEARBEITET:
versuchen Sie dies:
Diesem code wird die Letzte bekannte Position und dann eine Anfrage für die tatsächliche Lage.
diese Methode gibt die Letzte bekannte Position, wenn Sie wollen, um den Speicherort beim ausführen der Methode, man muss es beantragen. Ich bearbeitet meine Antwort, überprüfen Sie es bitte
Mein code läuft in einer async-task, wenn ich in den bearbeiteten code, den ich gezwungen wurde in "looper".prepare() oben locationManager.requestLocationUpdates(bestProvider,0,0,loc_listener); Nachdem auf diese Weise mein Programm immer noch sendet, die gleiche (falsche) gps-signal.
InformationsquelleAutor andoni90
Einer Methode ist die Verwendung
Timer
undTimerTask
Es hängt davon ab, wo setzen Sie dieses Stück code. Wenn man es in einer
Service
dann dürfte es ja im "hintergrund" arbeiten, bisstopService()
explizit genanntInformationsquelleAutor romy_ngo
Gibt es verschiedene Methoden, die Sie nutzen könnten. Könnten Sie ein separates thread , wartet x Minuten und sendet dann die Letzte bekannte Position an den server. Oder Sie verwenden eine Service, die mehr oder weniger das gleiche. Als Dritte Möglichkeit können Sie auch ein Handler.
InformationsquelleAutor
Können Sie erstellen einen thread, der im hintergrund ausgeführt wird und alle x Minuten bekommen Sie die aktuelle position durch den Aufruf einer Funktion, die das tut (Beachten Sie, dass Sie wollen, stellen Sie eine Funktion, die x,y-Koordinaten, da Sie verwenden, auf die Schaltfläche klicken Sie auf aswel). Für den code, den Sie geschrieben :
Das bedeutet, dass Ihre Anmeldung senden Sie bitte eine Anfrage an das gps-Modul alle x min für die whatshouldIputhere?
Glück,
Arkde
InformationsquelleAutor Aurelian Cotuna
dieser code funktioniert für mich (api 17)
InformationsquelleAutor Hoby