2012-06-21 6 views
6

Ich habe einen Hintergrunddienst, in dem ich eine Benachrichtigung anzeigen möchte, die es dem Benutzer ermöglicht, es zu beenden.Stoppen eines Hintergrunddienstes von Benachrichtigung

In den android SDK-Dokumenten heißt es, dass eine Aktivität normalerweise zum Starten einer Aktivität verwendet wird. Also ich frage mich, ob ich eine Aktivität erstellen muß den Dienst zu beenden, oder kann ich direkt den Dienst beenden, wenn der Benutzer die Benachrichtigung auswählt,

Wie würde die Absicht den Dienst zurückrufen zu stoppen ..

Danke,

+0

Vielleicht wird diese vorherige Diskussion nützlich sein: http://stackoverflow.com/questions/2621395/more-efficientway-of-updating-ui-from-service-thanin-intents – Gene

Antwort

7

Also ich frage mich, ob ich eine Aktivität erstellen müssen den Dienst zu beenden, oder kann ich direkt den Dienst beenden, wenn der Benutzer die Benachrichtigung, Sie können den Dienst von einem Notification nicht direkt

wählt stoppen. Sie können starten den Dienst, mit einer Intent, die eine Aktion Zeichenfolge oder extra oder etwas hat, die der Dienst in onStartCommand() sieht und löst es stopSelf() aufrufen.

+0

Danke, es hat für mich funktioniert .. – Ahmed

+0

Können Sie mir mit einem Beispielcode über das, was Sie sagen, helfen? Ich bin etwas verwirrt über die Antwort, die Sie oben erklärt haben. Vielen Dank –

0

Sie können ein Acitivty von einem Service nicht einfach so starten. Sie können einen Rückruf für eine Aktivität im Service erstellen und den Rückruf neue Aktivitäten starten lassen. Aber eine Benachrichtigung bedeutet, dass Sie den Service nicht durchlaufen müssen. Wenn auf die Benachrichtigung geklickt wird, können Sie eine Aktivität starten, die in der Absicht angegeben ist, die Sie der Benachrichtigung bereitstellen. Es ist wirklich sehr einfach.

Lesen Sie die Referenzdokumentation zu Benachrichtigungen für Beispiele.

Verwandte Themen