FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS schließt die gesamte Anwendung, nicht nur die Aktivität
Habe ich eine Benachrichtigung, die eine Aktivität startet. Nach einem langen drücken auf die home-Taste und Auswahl " meine app, ich möchte beginnen meine Haupttätigkeit wieder, und nicht diese Tätigkeit begann mit der Benachrichtigung. Ich habe versucht, mit FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, aber diese entfernt meine gesamte Anwendung von den recents, und das ist nicht das, was ich erreichen will. Wie kann ich meine app in den recents, aber die Haupt-Aktivität begonnen?
Hinsichtlich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay, ich fand die Lösung für mein problem. Ich begann eine Tätigkeit aus, die eine Benachrichtigung mit
FLAG_ACTIVITY_NEW_TASK
. Aber es scheint mir, dass diese Aktivität nur dann gestartet wird in einem eigenen task, wenn der Affinität unterscheidet sich von der Standard-Affinität. Also ich mußte eine unterschiedliche Affinität in der manifest.Und es scheint, dass
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
nicht (wie dokumentiert) exlucde die Aktivität aus den recents, sondern schließt die gesamte Aufgabe (nicht die ganze Anwendung), in denen die Aktivität begonnen, aus den recents. Und als ich nicht eine unterschiedliche Affinität die Tätigkeit, die wollte ich ausschließen, wurde im gleichen Aufgabe (obwohl ich eingestellt hatteFLAG_ACTIVITY_NEW_TASK
) und so ist meine gesamte Anwendung (als es lief nur eine Aufgabe) wurde ausgeschlossen von den recents.Nun habe ich eine unterschiedliche Affinität für die Aktivität, die gestartet wird aus der Meldung und starte ich es mit
FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
. Wenn ich aus dieser Aktivität und durch langes drücken auf die HOME-Taste kann ich wählen, meine app und der Standard-task gestartet oder in den Vordergrund geholt.Wenn es falsch ist was ich oben erwähnt habe, fühlen Sie sich frei, um es zu deaktivieren up ...
android:taskAffinity="com.yourpackage.YourActivity"
Es ist mir nicht klar, was Sie wollen.
Wenn Sie möchten, beginnen Sie immer eine Aktivität über die lange Start-drücken, können Sie definieren Sie Ihre Tätigkeit als
singleTask
im manifest.So, wenn Sie wählen Sie die Verknüpfung in die lange drücken Sie HOME, es wird immer die MAIN
singleTask
Aktivität. Ich sage dies, weil ich dieses Verhalten schon einmal. 😉Ich glaube, dass durch die Nutzung dieser können Sie noch starten Sie eine Aktivität aus der Benachrichtigungs-Regel, mit, sagen wir,
Intent
s.In der Aktivität tag: