2010-12-26 9 views
2

Ich mache einen Musik-Player. Wenn Sie auf Play drücken, wird eine Benachrichtigung in den Abschnitt OnGoing geladen. Wenn Sie irgendwo anders im System gehen, möchte ich, dass die Musik weiterspielt. All das ist in Ordnung.Android-Dienst legt mehrere Instanzen einer Aktivität in der Geschichte

Das Problem ist, dass, wenn ich meine Aktivität von der Benachrichtigung neu starten, fügt es eine Aufgabe zum History-Stack jedes Mal, wenn ich zurückschlagen, muss ich die Instanz von Aktivität B von wo ich Play gedrückt, und sehen von jedem Mal, als ich auf die Benachrichtigung klickte, um zu Aktivität B zurückzukehren.

Ich möchte, dass die Instanz von Aktivität B, die ich von der Benachrichtigung aus starte (über den Dienst), die einzige Kopie dieser Aktivität im Verlauf ist. Ich habe im Manifest verschiedene Intent-Flags und Aktivitätsattribute gespielt, aber ich habe die richtige Kombination nicht gefunden.

Antwort

3

Verwendung:

setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP); 

(genannt auf Ihrem Intent Sie mit Ihrem PendingIntent für Ihre Notification verwenden)

+1

Du bist mein Retter sind. Genau das habe ich gebraucht. Viele deiner Antworten auf andere Fragen haben mir ebenfalls geholfen, also danke doppelt. =) – HenryAdamsJr