Android Deep Linking - Zurück Stapel

9

Ich versuche, tiefe Verknüpfung in meiner Android-Anwendung zu implementieren. Ich habe dieses Handbuch verfolgt. Ich habe eine Android-Aktivität, die im Android-Manifest gestartet wird und einen Intent-Filter enthält:

%Vor%

Ich bekomme diese Absicht von adb:

%Vor%

Die Aktivität wird mit den richtigen Intent-Daten erstellt und wie erwartet ausgeführt. Wenn Sie jedoch die Zurück-Taste drücken, wird die Anwendung beendet. Ich habe erwartet, dass der Backstack mit MainActivity erstellt wird, wie von parentActivityName im Android-Manifest angegeben. Offensichtlich ist dies nicht der Fall.

Wie kann ich in diesem Fall dem Backstack eine übergeordnete Aktivität hinzufügen?

Ich habe mich gefragt, ob ich ein TaskStackBuilder wie hier hier im Kontext von verwenden könnte Benachrichtigungen, war aber nicht sicher, wie es funktionieren würde.

Vielleicht sollte ich eine intermediäre Aktivität haben, um die Hauptaktivität mit etwas wie:

aufzubauen %Vor%

?

    
Jon G 17.06.2014, 17:06
quelle

3 Antworten

2

Ich stieß auf genau das gleiche Problem. Wenn Sie also möchten, dass Ihr Benutzer zu Ihrer übergeordneten Aktivität wechselt, können Sie, wenn Sie die Taste UP drücken, die übergeordnete Aktivität in AndroidManifest.xml definieren und dann die Aufwärtsnavigation programmgesteuert steuern.

%Vor%

Sie können in allen Aktivitäten dasselbe tun, um den Benutzer ständig zum Startbildschirm zurück zu navigieren. Darüber hinaus können Sie den vollständigen Backstack erstellen, bevor Sie den Benutzer zurück navigieren. Lesen Sie mehr in der folgenden Dokumentation.

Bereitstellung von Navigation

Eine direkte Lösung

Sie können einfach überprüfen, ob die Deep-Linked-Aktivität einen Back-Stack hat, um selbst in die App-Aufgabe zurückzukehren, indem Sie isTaskRoot() aufrufen. Ich bin mir nicht ganz sicher, ob es irgendwelche Vorbehalte gibt.

%Vor%

In diesem Fall müssen Sie keine übergeordneten Aktivitäten im Android-Manifest deklarieren.

    
Subin Sebastian 11.03.2016 09:19
quelle
1

Ich habe für App-Links und App-Indexierungsfunktion von Android mit der Basis von Deep Linking gearbeitet, Ich hoffe, das ist nützlich, um App-Seiten zu indizieren und Google zu erlauben, die App wie hier angegeben Deep link Guide zu crawlen

  • Die wichtigste Regel, die ich in Deep-Linking und App-Indizierung untersucht habe, ist, dem Benutzer, der von der Suche oder von irgendwo startet, First Click Free Experience zu geben und keine Login / Signup-Seite zu enthalten. Allerdings muss das OnBack-Button-Presentereignis zu den Suchergebnissen oder dem ursprünglichen Ort nicht zu Ihrer Parent-Aktivität zurückkehren. Rufen Sie die App-Indizierung "Best Practices" und "Wichtig" auf

Diese Best Practice gilt auch für die App-Indexierungs-API, da Sie den Deeplink-Link von der App-Indexierungs-Trainingswebsite aus auf die Android-Entwicklerwebsite verwiesen haben.

    
s.shivasurya 11.05.2015 11:50
quelle
1

Haben Sie das versucht,

? %Vor%

Sie müssen Ihren eigenen App-Stack im Falle von Deep-Links erstellen.

    
user3773337 10.06.2015 22:46
quelle