2016-08-08 28 views
0

Ich habe eine App, Deeplinks zu einer anderen App.FLAG_ACTIVITY_NO_HISTORY funktioniert nicht in der Deeplink App

Aktivität A ist in der 1. App. Aktivität B und C sind in der 2. App.

Dies ist, wie der Fluss funktioniert:

Aktivität A geht an Aktivität B Aktivität B Prozess einige Daten und sendet den Benutzer Aktivität C

von dort, funktioniert alles.

Jetzt, wenn Sie die Zurück-Taste drücken.

Wunschverhalten:

Benutzer drückt in Aktivität zurück C. Die App sendet der Benutzer Aktivität A, B vollständig übersprungen wird.

Aktuelle Verhalten:

Benutzer drückt wieder in Aktivität C. Die App sendet der Benutzer Aktivität B.

Was ich bisher versucht:

FLAG_ACTIVITY_NO_HISTORY von der Absicht hinzufügen, die von sendet Aktivität B bis C. Fügen Sie FLAG_ACTIVITY_CLEAR_TOP von der Absicht hinzu, die von Aktivität B an C sendet.

das funktioniert nicht.

Überschreiben Sie die onBackPressed() - Methode in Aktivität C, indem Sie der deeplink-App eine Absicht hinzufügen.

Das funktioniert, ist aber an meinem Arbeitsplatz keine erwünschte Lösung.

Gibt es eine andere Flagge oder muss ich sie an einem anderen Ort platzieren?

Antwort

0

Haben Sie versucht, noHistory = "true" im Manifest für Aktivität B zu setzen?

+0

das hat nicht funktioniert –

+0

, so dass Sie auf Aktivität C zurückschlagen möchten, und t sollte zurück zur ersten Anwendung (Aktivität A) gehen. Stattdessen geht es zurück zu Actiivty B in der 2. App? – reidisaki

+0

Ja, das ist was ich will, aber die einzige Lösung, mit der ich kam, ist eine Absicht überschreiben die onBackPressed() -Methode mit einer kleinen Switch-Case-Logik, weil die Daten gesendet werden. Einige andere Kollegen vorgeschlagen, anstatt, call finish(), aber es tut nichts, ich habe auch hier nachgeschlagen, thats, wie ich die Lösung mit der Intent.FLAG gefunden, funktioniert auch nicht. Meine Mitarbeiter wollen nicht die Override-Logik, ich kam hierher und bat darum. Wenn die Override-Logik der einzige Weg ist, kann ich diese Frage als Sicherung verwenden, weil mein Fachwissen (Junior) –