【问题标题】:How to open an Activity using deeplink in the same task as current Activity?如何在与当前活动相同的任务中使用深度链接打开活动?
【发布时间】:2020-06-15 15:37:15
【问题描述】:

我有 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 之上。

【问题讨论】:

  • 同样的问题!
  • @tobidude 实际上,我已经放弃了多活动模式。新想法是应用程序只有一个且只有一个活动。其他 UI/屏幕将是 Fragment。所以当一个深层链接出现时,只有 MainActivity 得到通知,我可以完全控制 Fragment 顺序。希望这会给你一些很好的参考。
  • 您好,谢谢您,但在我的情况下,该应用程序总是从根目录打开一个全新的活动并忘记旧的活动,所以这会有所帮助。

标签: android android-activity android-deep-link android-app-links


【解决方案1】:

把代码放到这个方法中,

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

    }

【讨论】:

  • 在onNewIntent中放什么? DeepLinkingActivity 将是从操作系统而不是 MainActivity 获得 Intent 的人
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多