对于这个问题,我有无人认领的赏金。如果有人能够提供符合我标准的有效答案,我将奖励他们。由于赏金已过期,因此看不到,但事实发生后,我可以奖励可接受的答案。
我的应用设置了意图过滤器,该过滤器可以在我使用Chrome时按需运行。不幸的是,Firefox并没有以相同的方式实现深层链接。当我点击Firefox中的链接时,它在地址栏的末尾显示了一个小的Android图标。如果点击该按钮,它将在Firefox中打开我的应用程序 ,我不喜欢这种行为。使用Chrome,它只需打开应用程序(在提示您首次选择应用程序之后)
更新:单任务不起作用,它具有resuming activity not being able to get the extras from the intent that launched it.
令人讨厌的副作用这与其他深层Firefox问题(this,this,this,this,this,this ,和this),因为这些问题是关于如何使深层链接完全起作用 ,而我了解深层链接在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>
如果您要提供解决方案,请提供一个清晰的示例,其中包含有关代码应在清单中的位置(如果有的话)以及其副作用的上下文(请参见上面的链接,单任务)对此不起作用)
答案 0 :(得分:1)
您必须在活动标签下放置android:launchMode="singleTask"
。
这可以防止打开多个实例。如果您的应用已经打开,它将启动它,否则它将创建一个新实例。