Der Dienst erstellt eine persistente Notification
und startet die Hauptaktivität beim Klick über PendingIntent
. Hier ist der Code.Benachrichtigung verhindern PendingIntent startet Aktivität wurde bereits gestartet?
Intent notificationIntent = new Intent(getApplicationContext(), ViewPagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(StreamingService.this, 0, notificationIntent, 0);
Wenn jedoch die Haupttätigkeit gestartet wird wenn ich Benachrichtigung drücken, wird es wieder, und immer ...
Am Ende gestartet werden, habe ich die gleiche Tätigkeit pilled oben, eins auf dem anderen. Ich kann dies sehen, indem ich den Zurück-Knopf drücke, der die Hauptaktivität einmal abbricht und mich dann zu der gleichen Aktivität zurückbringt, bis ich den Letzten schließe.
Wie kann ich verhindern, dass dies geschieht? Kann PendingIntent
erkennen, dass die Zielaktivität ausgeführt wird, damit die Aktivität nicht erneut erstellt wird, sondern die laufende Aktivität gestartet wird?
PS. Ich entschuldige mich, wenn ich das nicht gut erklären kann. Wenn dies der Fall ist, lass es mich wissen und ich werde das Problem umformulieren.
Werfen Sie einen Blick auf [diesen Beitrag] (http://stackoverflow.com/a/5631993/593709) –
Diese Frage wirklich nichts mit Benachrichtigungen zu tun hat; Sie sind lediglich der Mechanismus zum Starten Ihrer Aktivität, aber Ihr Problem tritt bei jedem anderen Mechanismus auf. @ etiennes Antwort enthält, was Sie tun müssen, um es zu beheben; Eine weitere Möglichkeit besteht darin, das Attribut android: launchMode in Ihrem Manifest zu verwenden, um den Startmodus für diese Aktivität ordnungsgemäß festzulegen. – mah
@mah hast du recht. Ich werde das beheben. – sandalone