Ich möchte einen Dienst starten, wenn die Benutzer meine Anwendung öffnen, einige meiner Aktivitäten müssen den Dienst binden, und wenn die Benutzer meine Anwendung schließen, stoppe ich den Dienst.So lösen Sie einen Dienst, wenn die Anwendung zerstört wird
Die Frage ist, wo kann ich den Dienst stoppen. Ich möchte, dass mein Service funktioniert, wenn meine App geöffnet ist.
Ich starte den Service in Methode, und ich fand, dass es keine onDestroy()
Methode in Application
gibt.
Und ich habe versucht, es in der Launcher-Aktivität onDestroy
zu stoppen, aber ich denke nicht, das ist ein guter Weg, weil das System Recovery Launcher-Aktivität, wenn wenig Speicher.
„Ich möchte einen Dienst starten, wenn die Benutzer meine Anwendung zu öffnen, müssen einige meiner Aktivitäten um den Dienst zu binden, und wenn die Benutzer meine Anwendung zu schließen, halte ich den Dienst“ - was ist der Service giving Sie, dass Sie mit einem gewöhnlichen Java-Objekt nicht umgehen konnten? – CommonsWare
Ich möchte eine TCP-Verbindung mit dem Server aufrechterhalten, wenn die App geöffnet ist, einige Aktivitäten benötigen den Socket zum Senden von Nachrichten. Ich denke, das ist eine Arbeit für den Dienst, ich kann bis jetzt keinen anderen Weg finden. –
"Ich kann bis jetzt keinen anderen Weg finden" - benutze ein normales Java-Objekt, in Form eines Singletons 'AppConnectionManager' oder so. Nochmal: Warum muss das ein Service sein? – CommonsWare