Hallo!
Ich hätte da eine Frage an Leute, die sich mit Services in Android auskennen.
Ich arbeite an einer App, die einen Service verwendet und direkt damit
interagiert (also Methoden des Services über IPC verwendet).
Der Service wird so geholt.
public void mStartService() {
Intent i = new Intent(getActivity(), LogicService.class);
boolean existing = getActivity().startService(i) == null;
boolean boundedIn = false;
if (!existing) {
boundedIn = getActivity().bindService(i, mServerConn, getActivity().BIND_AUTO_CREATE);
}
Alles anzeigen
Ein existierender Service wird also geholt und an den Context gebunden.
Ich weiß allerdings nicht genau wann ich stopService(intent) und
unbindService(intent) oder ob ich es überhaupt verwenden sollte. Im
Moment mache ich einen unbindService Aufruf aber keinen stopService. Das
heißt der Service läuft weiter (was auch beabsichtigt ist). Wenn die
App aber abstürzt passieren komische Dinge mit dem Service. Kann ich
irgendwie einen Absturz im Service abfangen?
Ich habe auch schon die Dokumentation dazu angesehen und verstehe, dass mit startService nur der Service gestartet wird und mit bindService an den Kontext gebunden. Allerdings verstehe ich da eine Sache noch nicht. Wenn ich nirgendswo startService Aufrufe und den Service nur in der AndroidManifest Datei definiere, startet der Service dann von alleine? Denn laut Dokumentation kann man bindService auch ohne die Methode startService aufrufen. Das heißt irgendwie muss ja der Service gestartet werden.