Beim Zugriff auf den Deeplink, während die App im Hintergrund ist, wird das korrekte PostActivity
gestartet und auf die Aktivität, aus der der Deeplink aufgerufen wurde, gestapelt. Das ist gut und richtig.Deeplinking Links zu Launcher/Hauptaktivität statt der Deeplinked
Wenn die App beim Antippen des Deeplinks nicht im Hintergrund geöffnet ist, wird die Launcher-Aktivität statt der Deeplink-assoziierten Aktivität geöffnet. Seltsamerweise, wenn die Zurück-Taste gedrückt wird, um die Stapel-Launcher-Aktivität zu schließen, und der Deeplink wieder angetippt wird, wird das korrekte PostActivity
gestartet.
- Gibt es eine Erklärung für dieses Verhalten?
- Ist das erwartete Verhalten?
- Wie kann ich immer die Deeplinked-Aktivität starten, um auf Deeplinks und nicht auf die Launcher-Aktivität zu tippen?
My Launcher Aktivität ist:
<activity
android:name=".SplashActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:screenOrientation="sensorPortrait"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Meine deeplinked Aktivität:
<activity
android:name=".PostActivity"
android:label="@string/app_name"
android:screenOrientation="sensorPortrait"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/deeplink_scheme" />
<data android:host="article" />
<data android:pathPattern=".*" />
</intent-filter>
</activity>
Finden Sie das schwer zu glauben. Android startet 'SplashActivity' nicht von selbst. Sind Sie sicher, dass Sie keinen Code in 'PostActivity' haben, der prüft, ob die App initialisiert wurde und wenn nicht, wird auf' SplashActivity' umgeleitet? Bitte poste den Code von 'PostActivity.onCreate()'. –
Danke. Ich denke, das antwortet, wenn es "erwartetes Verhalten" ist, was wahrscheinlich der Input ist, den ich brauchte. Es könnte sein, was Sie vorschlagen, also werde ich ein neues leeres Projekt erstellen, um das "Problem" zu testen, bevor ich in meinem bestehenden Projekt nachschaue. – Wex
Ich habe ein neues Projekt mit einem einfachen Deeplink und zwei Aktivitäten versucht, und alles funktioniert gut. Mein Problem muss projektspezifisch sein und keinesfalls normales Verhalten. – Wex