by Anonymous » 03 Apr 2025, 09:06
Ich habe eine Mainaktivität, die das Haupt- und Launcher -Set filtert. Es handelt sich hauptsächlich um eine einzelne aktivitätsbasierte Anwendung, mit Ausnahme einiger SDK -Screens, die in der separaten Aktivität öffnen. Wenn die Push -Benachrichtigung Tipp öffnet, öffnet die App der getötete Staat. In diesem Zustand, wenn ich die App mithilfe der Home -Taste in den Hintergrund einfügt und versuche, die App mit dem Android -Launcher zu öffnen (Recents funktioniert korrekt), wird eine neue Mainaktivität darüber gedrückt. Der Stapel wird also Mainaktivität -> Mainaktivität. Ich kann dies beheben, indem ich den LaunchMode zum Singletop mache. Aber was ist, wenn der Benutzer in diesem Fall eine weitere Aktivität von SDK öffnet und die App in den Hintergrund bringt? Mainaktivität -> Chataktivität? < /P>
Code: Select all
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
< /code>
Option 2, setzen Sie alle Eigenschaften wie der Android -Launcher, dies löst das oben erwähnte Problem. Auch Singletop ist nicht erforderlich. < /P>
val intent = Intent(this, MainActivity::class.java)
intent.setAction(Intent.ACTION_MAIN)
intent.addCategory(Intent.CATEGORY_LAUNCHER)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED)
< /code>
Meine Frage ist Option2 sicher auf allen Android -Geräten? Warum schiebt Android Launcher eine neue Mainaktivität, wenn bereits eine Aufgabe mit der Aktivität vorhanden ist, die mit der Benachrichtigung vorliegt, auch wenn beide die Flag -Flag_Activity_New_task
festlegen?
Ich habe eine Mainaktivität, die das Haupt- und Launcher -Set filtert. Es handelt sich hauptsächlich um eine einzelne aktivitätsbasierte Anwendung, mit Ausnahme einiger SDK -Screens, die in der separaten Aktivität öffnen. Wenn die Push -Benachrichtigung Tipp öffnet, öffnet die App der getötete Staat. In diesem Zustand, wenn ich die App mithilfe der Home -Taste in den Hintergrund einfügt und versuche, die App mit dem Android -Launcher zu öffnen (Recents funktioniert korrekt), wird eine neue Mainaktivität darüber gedrückt. Der Stapel wird also Mainaktivität -> Mainaktivität. Ich kann dies beheben, indem ich den LaunchMode zum Singletop mache. Aber was ist, wenn der Benutzer in diesem Fall eine weitere Aktivität von SDK öffnet und die App in den Hintergrund bringt? Mainaktivität -> Chataktivität? < /P>
[code]val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
< /code>
Option 2, setzen Sie alle Eigenschaften wie der Android -Launcher, dies löst das oben erwähnte Problem. Auch Singletop ist nicht erforderlich. < /P>
val intent = Intent(this, MainActivity::class.java)
intent.setAction(Intent.ACTION_MAIN)
intent.addCategory(Intent.CATEGORY_LAUNCHER)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED)
< /code>
Meine Frage ist Option2 sicher auf allen Android -Geräten? Warum schiebt Android Launcher eine neue Mainaktivität, wenn bereits eine Aufgabe mit der Aktivität vorhanden ist, die mit der Benachrichtigung vorliegt, auch wenn beide die Flag -Flag_Activity_New_task [/code] festlegen?