R
renegade2k
Fortgeschrittenes Mitglied
- 8
Ich habe eine relativ simple App geschrieben, die eine Haupt-Activity und ein Service hat, der die eigene Position verfolgt.
Wenn die App gestartet wird und die Haupt-Activity geladen wird, wird "onCreate" der Service gestartet.
Die Track.class ist in der AndroidManifest auch als Service eingetragen
In dem Service wird "onCreate" die Ortung gestartet
Anschließend werden ein paar einfache Berechnungen durchgeführt, für die ich die Methoden selbst geschrieben habe.
Nun,wenn die App beendet wird (mit eine Button, der in der Haupt-Activity finish() aufruft), wird zunächst in der Haupt-Activity der Service abgemeldet
Und im Service wird der LocationListener abgemeldet
Ich habe in allen Methoden (location listener, alle meine selbst geschriebenen Methoden, in onCreate und onDestroy etc.)Debug-Nachrichten drin, sodass, wenn eine der Methoden ausgeführt wird, ich es in Logcat sofort sehe.
Und es ist nach dem Beenden nichts zu sehen!
Dennoch, wenn ich im Anwendungs-Menü von Android nachsehe, steht meine App als "ausgeführt" drin. Bzw. der Button "beenden erzwingen" ist durchgehend aktiv.
Auch wenn ich die Ap anschließend erneut starte, sind alle vorher vorgenommenen EIngaben gelöscht. Die Activity wird also ganz "frisch" erstellt.
Übersehe ich noch irgend etwas?
Und habe ich die Möglichkeit irgendwie zu sehen, was von der App noch im Hintergrund läuft? Denn wie erwähnt, habe ich ja eigentlich jede Methode markiert und keine von denen wird aufgerufen.
Oder ist es normal, dass die App an sich noch in der Liste auftaucht, bis Android sie irgendwann selbst beendet?
Wenn die App gestartet wird und die Haupt-Activity geladen wird, wird "onCreate" der Service gestartet.
Code:
startService(new Intent(this, Track.class));
Code:
<service android:name=".Track" />
Code:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new mylocationlistener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
Nun,wenn die App beendet wird (mit eine Button, der in der Haupt-Activity finish() aufruft), wird zunächst in der Haupt-Activity der Service abgemeldet
Code:
public void onDestroy() {
super.onDestroy();
stopService(new Intent(Main.this, Track.class));
}
Code:
public void onDestroy() {
super.onDestroy();
locationManager.removeUpdates(locationListener);
}
Und es ist nach dem Beenden nichts zu sehen!
Dennoch, wenn ich im Anwendungs-Menü von Android nachsehe, steht meine App als "ausgeführt" drin. Bzw. der Button "beenden erzwingen" ist durchgehend aktiv.
Auch wenn ich die Ap anschließend erneut starte, sind alle vorher vorgenommenen EIngaben gelöscht. Die Activity wird also ganz "frisch" erstellt.
Übersehe ich noch irgend etwas?
Und habe ich die Möglichkeit irgendwie zu sehen, was von der App noch im Hintergrund läuft? Denn wie erwähnt, habe ich ja eigentlich jede Methode markiert und keine von denen wird aufgerufen.
Oder ist es normal, dass die App an sich noch in der Liste auftaucht, bis Android sie irgendwann selbst beendet?
Zuletzt bearbeitet: