希望大家都过得好。
我有一个小问题;
我正在使用导航组件,单个活动多个片段。我在深度链接方面遇到了一点问题。
我在清单中设置了
<nav-graph/>
,并设置了launcherMode="singleTask",我在导航图中设置了
<deeplink/>
。我在片段中处理了intent extras。
我的流程是;
- 用户点击"忘记密码",填写文本后请求deeplink邮件。工作正常
- 用户点击电子邮件中的deeplink并选择应用程序,然后自动导航到CreatePasswordFragment(deeplink目标片段)并且(我可以在这里处理参数,也正常工作)
问题是;有时如果应用程序在后台打开(例如我请求邮件然后按下home键),当我点击deeplink时,上一个片段会运行,而不是目标片段CreatePasswordFragment。
您对可能导致问题的原因有什么想法吗?
谢谢!
Navigation版本:2.2.0
随邮件一起发送的深度链接
http://myurl/forgot-password/?key=sodmoq9wwdW1djkssdqMEdqlsp
导航图
<deepLink android:id="@+id/deepLink"
app:uri="http://myurl/forgot-password/?key={key}"/>
<argument
android:name="key"
app:argType="string" />
Android清单文件
<activity
...
android:launchMode="singleTask">
<nav-graph android:value="@navigation/navigation_main" />
</activity>`
反编译清单
<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>