Verhindern, dass die Benachrichtigung PendingIntent beginnt die Aktivität bereits begonnen?

Erstellt der Dienst eine beständige Notification und beginnt die Haupttätigkeit, die auf Klick über PendingIntent. Hier ist der code.

Intent notificationIntent = new Intent(getApplicationContext(), ViewPagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(StreamingService.this, 0, notificationIntent, 0);

Jedoch, wenn der main-activity gestartet wird, wenn ich drücken Sie auf die Benachrichtigung, wird diese gestartet wieder, und wieder, und...

Am Ende, ich habe die gleiche Aktivität pilled, ein auf der Oberseite des anderen. Ich kann sehen, diese durch drücken der zurück-Taste, die töten wird die Haupttätigkeit einmal und dann Holen Sie mich zurück zu der gleichen Aktivität, bis ich in der Nähe den letzten.

Wie kann ich verhindern, dass dies geschieht? Kann PendingIntent erkennen, dass Ziel-Aktivität ausgeführt wird, so ist es nicht zu der gleichen Aktivität wieder, sondern starten Sie die Ausführung eines?

PS. Ich entschuldige mich, wenn die nicht in der Lage, dies zu erklären gut. Wenn dies der Fall ist, lassen Sie mich wissen, und ich formuliere das problem.

  • Haben Sie einen Blick auf diesem post
  • Diese Frage hat wirklich nichts mit Benachrichtigungen; Sie sind lediglich der Mechanismus zum starten Ihrer Aktivität aber dein problem würde auftreten mit anderen Mechanismen. @etienne Antwort enthält, was Sie brauchen, um es zu beheben; eine andere Möglichkeit ist die Verwendung des android:launchMode Attribut im manifest richtig gesetzt, Ihr Start-Modus für diese Tätigkeit.
  • du hast Recht. Ich werde dieses Problem beheben.
InformationsquelleAutor sandalone | 2012-12-18
Schreibe einen Kommentar