Firebase动态链接处理两次

时间:2016-06-06 08:14:09

标签: android firebase firebase-dynamic-links

我有一个问题,即在重新启动Android应用程序时重新启动firebase动态链接。以下序列产生问题:

  1. 点击深层链接网址
  2. 应用程序在深层链接指向的视图中打开(正如预期的那样)
  3. 关闭应用程序(完全)
  4. 从图标
  5. 打开应用
  6. 应用程序在深层链接指向的视图中打开(即使它不应该)
  7. 之后就可以了。
  8. 我正在使用最新的(9.0.2)库。代码与示例中的相同(例如:https://firebase.google.com/docs/dynamic-links/android#add-an-intent-filter-for-deep-links),autoLaunchDeepLink为false。

    • 我注意到有一个错误导致了这个问题,但是应该在当前版本中修复它: https://github.com/googlesamples/google-services/issues/141

    • 我按照github错误报告中的说明,通过两次调用AppInvite.AppInviteApi.getInvitation尝试了一种解决方法。没有成功。

    • 在onCreate中我正在检查savedInstance是否为空,只检查了深度链接。

    • 我正在检查onNewIntent中的深层链接,以便在应用程序运行时处理它,但是当问题发生时不会调用它。

    • 在我的清单中,具有特定协议和主机的intent-filter仅包含在主活动中。该协议也用于其他活动中的其他过滤器,但我也尝试在那些没有效果的协议中使用不同的协议。只有主要活动使用AppInvite.AppInviteApi.getInvitation来获取意图。即使我从所有活动中删除其他意图过滤器,也会出现此问题。

    任何想法可能是错的或我还应该检查什么?

1 个答案:

答案 0 :(得分:4)

您需要在启动器活动和您声明处理动态链接的活动中调用(?<=<div class="books\w{3}">)(.*?)(?=</div>)

但是在处理动态链接的活动中,您需要传递 null ,而不是将活动作为getInvitation()的第二个参数传递, 像这样getInvitation()