Frage

Ich habe ein Widget, das beim Klicken kleine Dialoge auftauchen kann. Diese Dialoge werden durch eine Aktivität angezeigt, die als Remoteaktivität im SingleInInstance -Startmodus bezeichnet wird. In einem dieser Dialoge gibt es eine Schaltfläche, um die Haupt -App -Mainaktivität mit dem Standard -LaunchMode zu starten.

Wenn diese Schaltfläche jedoch geklickt wird und StartActivity () aufgerufen wird, wird MainActivity nicht gestartet, obwohl ich die entsprechende "Startaktivität: Intent {...}" in LogCat sehen kann.

Wenn ich den Startmodus der Remoteaktivität auf Standard festlegt, wird MainActivity gestartet, aber das ist nicht das, was ich will, Remoteaktivität ist lediglich eine Erweiterung des Widgets. Ich möchte nicht, dass es mit einer anderen Aktivität stapelt.

Ich habe es auch mit Flag_Activity_new_task versucht, aber es half nicht, und es sollte sowieso nicht notwendig sein Nach Angaben der Dokumente:

Eine "SingleIninStance" -Aktivität hingegen ermöglicht es, dass keine anderen Aktivitäten Teil seiner Aufgabe sind. Es ist die einzige Aktivität in der Aufgabe. Wenn es eine andere Aktivität startet, wird diese Aktivität einer anderen Aufgabe zugeordnet - als ob Flag_Activity_New_task in der Absicht.

Wie kann ich meine Hauptaktivität starten?

Update / Errata:

Die Mainaktivität wird tatsächlich gestartet, aber nur, wenn sie nicht bereits Teil einer Aufgabe ist. Wenn ich MainActivity normal über den Launcher starte und zurück zum Ausgang drücke, startet die Remoteaktivität die Mainaktivität.

Wenn ich jedoch, anstatt zurück zu drücken, nach Hause drücke, um die Mainaktivität zu verlassen, kann die Remoteaktivität die Mainaktivität nicht starten, obwohl die Absicht in logcat angezeigt wird.

Ich teste dies auf Froyo.

Irgendwelche Vorstellung davon, was passiert?

War es hilfreich?

Lösung 2

Ich fand das Problem: Dieses Verhalten tritt nur beim Aufrufen von Finish () vor StartActivity () in der Remoteaktivität auf. Wenn ich startActivity () vor enden () aufrufe, funktioniert es gut, ob MainActivity bereits Teil einer vorhandenen Aufgabe ist oder nicht.

Stelle dir das vor...

Andere Tipps

Vielleicht der Nohistory Flag Funktioniert für das, wonach Sie suchen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top