0

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> 
+1

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()'. –

+0

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

+0

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

Antwort

0

Die Antwort ist, dass es nicht ein normales Verhalten, es ist etwas anderes als das offensichtlich sein muß, die spezifisch ist zu diesem Projekt, das dies verursacht.

Verwandte Themen