Ich möchte eine Bibliothek erstellen, die einen Dienst hat, um Werte von Temperatursensoren zu lesen und einige Verarbeitungen durchzuführen. Der Service wird bei der Überwachung der Sensorwerte gehalten und gibt eine Warnung aus, wenn ein hoher Wert erkannt wird. Ich möchte mehrere Apps mit dieser Bibliothek erstellen. Ich plane, meine Bibliothek als eine Abhängigkeit zu jeder App hinzuzufügen und wenn eine App meinen Dienst "TemperatureService" gestartet hat, sollten die anderen Apps denselben Dienst konsumieren, ohne einen neuen zu erstellen.Wie man einen sharable Dienst unbegrenzt in android laufen lässt?
Weiter, wenn der Dienst gestartet wird, sollte es unbegrenzt laufen. Und wenn ich in Zukunft eine neue App starte, sollte es in der Lage sein, an den aktuell laufenden Dienst zu binden.
Ich habe versucht, den IntentService zu verwenden, aber wenn ich meine App töte, stoppt der Dienst auch.
Intent i = new Intent(this.getBaseContext(), MyTestService.class);
i.putExtra("foo", "bar");
startService(i);
Wie kann ich mein Problem lösen?
Wie kann ich den Dienst gemeinsam nutzen? Eine App könnte den Dienst starten und alle Apps starten, nachdem sie auf den gleichen Dienst zugreifen können. Aber wenn ich bindService von verschiedenen Apps aus anrufe, erstellt es eine neue Instanz des Dienstes. – chamathabeysinghe
@chamathabeysinghe Siehe meine aktualisierte Antwort mit Link mit einer kleinen Demo. –