Mithat Sinan Sarı
Mithat Sinan Sarı

Reputation: 302

Android deeplink with navigation component not working as expected

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.

My flow is;

  1. User clicks to forgot password, fills edit texts then requests deeplink mail. Works fine
  2. 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>

Upvotes: 17

Views: 11029

Answers (1)

Jason
Jason

Reputation: 767

Little late to the party, but for future references quoting from Ian Lake's (tech lead of the navigation component) answer:

NavController doesn't override methods in your activity, so you'd need to call this manually if you insist on using android:launchMode="singleTask".

And here is the link to the source:

https://stackoverflow.com/a/61569940/4408458

Upvotes: 2

Related Questions