我有一个问题,当重新启动android应用时,firebase动态链接会重新启动。以下顺序会产生问题:

  • 单击深层链接URL
  • 该应用程序将在由深层链接指向的 View 上打开(如预期的那样)
  • 关闭应用程序(完全)
  • 从图标
  • 打开应用程序
  • 在深层链接指向的 View 中打开应用程序(即使它不应该打开)
  • 之后,它可以正常工作

  • 我正在使用最新的(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中,我正在检查saveInstance是否为null,并且仅检查深链接是否为null。
  • 我也在onNewIntent中检查深层链接,以便在应用程序运行时对其进行处理,但是在出现问题时不调用此链接。
  • 在我的 list 中,具有特定协议(protocol)和主机的intent过滤器仅包含在主要 Activity 中。该协议(protocol)还用于其他 Activity 的其他过滤器中,但是我尝试在那些无效的协议(protocol)中使用不同的协议(protocol)。仅主要 Activity 使用AppInvite.AppInviteApi.getInvitation来获得 Intent 。即使我从所有 Activity 中删除其他 Intent 过滤器,也会出现问题。

  • 有什么想法可能是错误的还是我应该检查什么?

    最佳答案

    您需要在启动器 Activity 以及声明为处理动态链接的 Activity 中调用getInvitation()

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

    10-08 15:08