I hope you are all doing well.
I have a little question;
I am using navigation component, single activity multiple fragment. I have a tiny problem with deeplink.
I’ve set
<nav-graph/>
in manifest and also set launcherMode="singleTask",I’ve set
<deeplink/>
in navigation graph.I’ve handled intent extras in fragment.
My flow is;
- User clicks to forgot password, fills edit texts then requests deeplink mail. Works fine
- User clicks to deeplink in email and selects app then navigates to CreatePasswordFragment automatically (deeplink destination fragment) & (I can handle args here, works fine also)
The problem is; Sometimes if app is open on background, (for example I requested mail then pressed home button) and when I click deeplink, last fragment runs instead of destination fragment which is CreatePasswordFragment Any ideas about what may cause the problem?
Thanks!
Navigation version: 2.2.0
Deeplink that comes with email
http://myurl/forgot-password/?key=sodmoq9wwdW1djkssdqMEdqlsp
Navigation graph
<deepLink android:id="@+id/deepLink"
app:uri="http://myurl/forgot-password/?key={key}"/>
<argument
android:name="key"
app:argType="string" />
Android Manifest
<activity
...
android:launchMode="singleTask">
<nav-graph android:value="@navigation/navigation_main" />
</activity>`
Decompiled Manifest
<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="http" />
<data android:host="myurl" />
<data android:path="/forgot-password/" />
</intent-filter>