0

我有 2 个活动 MainActitvity(launchMode:standard) 和 DeepLinkingActivity(launchMode:standard)

 <activity
      android:name=".feature.deepLink.DeepLinkActivity"
      android:launchMode="standard">
      <intent-filter
        android:autoVerify="true"
        tools:targetApi="m">
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data
          android:host="${deepLinkURI}"
          android:path="@string/path_prefix"
          android:scheme="https" />
      </intent-filter>
</activity>

<activity
    android:name=".feature.main.MainActivity"
    android:launchMode="standard"
    android:windowSoftInputMode="adjustPan|stateAlwaysHidden"/>

当 MainActivity 出现时,我单击将打开 DeepLinkActivity 的链接。从文档

https://developer.android.com/guide/components/activities/tasks-and-back-stack#ManifestForTasks

DeepLinkingActivity 应该在与 MainActivity 相同的 Task 中启动,并放在该 Task 的顶部。看来不是,MainActity 和 DeepLinkingActivity 现在存在于 2 个单独的任务中(按回 DeepLinkingActivity 会将我导航到启动器屏幕而不是 MainActivity)。

我确实尝试将 DeepLinkingActivity 的启动模式更改为 singleTask。它在同一个任务 MainActivity 中启动了 DeepLinkingActivity,但它也清除了返回堆栈(没有 MainActivity 可以返回)

那么,当我从深层链接启动时,如何将 DeeplinkingActivity 放置在同一任务中的 MainActivity 之上。

4

1 回答 1

-2

将代码放入此方法中,

override fun onNewIntent(intent: Intent?) {
        super.onNewIntent(intent)

    }
于 2020-03-03T10:01:04.853 回答