2013-10-13 11 views
10

Ich möchte eine Benachrichtigung erstellen, dass, wenn es geklickt hat, meine App nach vorne bringt, ohne die letzte Aktivität, die angezeigt wurde, zu ändern (neu zu laden oder zu navigieren).Benachrichtigung bring App nach vorne ohne Änderung Aktivität

Ich habe versucht:

setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)) 

Aber in der neuen Android 4.3 der Anwendung nach vorne gebracht, aber es ist auch eine neue Instanz von MainActivity beginnen, und ich will das nicht.

Ich möchte, dass meine App von der letzten Aktivität fortgesetzt wird, die angezeigt wurde.
Wie geht das?

Antwort

4

Sie setzen nie . Diese Flagge wird von Android gesetzt, wenn es die Aktivität nach vorne bringt. Sie haben keine Wirkung.

Es gibt ein paar Möglichkeiten zu tun, was Sie wollen. Check out this answer

+0

@ greg7gkb Was? In der Dokumentation wird deutlich angezeigt: "Dieses Flag wird normalerweise nicht vom Anwendungscode gesetzt, sondern vom System wie in der launchMode-Dokumentation für den singleTask-Modus beschrieben." _ Da es für Sie festgelegt ist, welchen Zweck haben Sie für die Einstellung es? Sie können kein Verhalten steuern oder beeinflussen, indem Sie dieses Flag setzen, also warum würden Sie es einstellen? –

+0

Ich weiß, es ist alt, aber nichts hat für mich funktioniert, und ich möchte die Antwort teilen, die funktioniert - https://Stackoverflow.com/a/47329722/2410260 –

0

Dieses "Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP" statt "Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT"

erklärt here

Hoffnung, das hilft.

+1

Dies wird nicht helfen und ist nicht die richtige Verwendung dieser Flagge. 'Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP' ist nur nützlich, wenn Sie eine Aktivität innerhalb Ihrer eigenen Aufgabe starten. Da die Aktivität, die gestartet wird, sich in einer anderen Task befindet (weil sie von der Benachrichtigungsleiste aus gestartet wird), hat dieses Flag keine Wirkung. –

Verwandte Themen