Android深度链接Firefox就像Chrome一样

问题描述 投票:1回答:1

我对这个问题有一个无人认领的赏金。如果有人能够提供符合我标准的工作答案,我将以赏金奖励他们。这是不可见的,因为赏金已过期,但我可以在事实之后将其奖励给可接受的答案。

我的应用具有意图过滤器设置,可在我使用Chrome时按需运行。不幸的是,Firefox没有以同样的方式实现深层链接。当我点击Firefox中的链接时,它会在地址栏的末尾显示一个小的Android图标。如果我点击它,它将在Firefox中打开我的应用程序,我不喜欢这种行为。使用Chrome,它只需打开应用程序(在第一次提示您选择应用程序后)

更新:singletask不起作用,它有resuming activity not being able to get the extras from the intent that launched it.的令人发指的副作用

这不是其他深层链接Firefox问题(thisthisthisthisthisthisthis)的重复,因为这些问题是关于如何获得深层链接工作,而我理解Firefox中深层链接的工作原理他们已经为我工作了,但我想改变这种行为......

我问:如果可能的话,我可以通过Firefox的深层链接打开我的应用程序的现有实例,并使其行为与Chrome相同吗?我不想使用iframe。

我已经实现了http和https意图过滤器,如下所示:

<!-- https -->
<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:host="myappurl"
      android:pathPrefix="/myprefix"
      android:scheme="https" />
</intent-filter>
<!-- http -->
<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:host="myappurl"
        android:pathPrefix="/myprefix"
        android:scheme="http" />
</intent-filter>

如果您要提供解决方案,请提供一个明确的示例,其中包括代码应该在清单中的位置(如果有的话),以及副作用是什么(请参阅上面的链接 - singletask不起作用)为了这)

firefox android-intent deep-linking android-deep-link
1个回答
0
投票

你必须将android:launchMode="singleTask"放在你的活动标签下。

这可以防止打开多个实例。如果您的应用已经打开,它将启动它,否则它将创建一个新实例。

© www.soinside.com 2019 - 2024. All rights reserved.