9

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

  1. 点击深层链接网址
  2. 该应用程序在深层链接指向的视图中打开(如预期的那样)
  3. 关闭应用程序(完全)
  4. 从图标打开应用程序
  5. 该应用程序在深层链接指向的视图中打开(即使它不应该)
  6. 之后它工作正常

我正在使用最新的(9.0.2)库。代码与示例中的代码非常相似(例如:https : //firebase.google.com/docs/dynamic-links/android#add-an-intent-filter-for-deep-links),autoLaunchDeepLink 为假。

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

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

  • 在 onCreate 中,我正在检查 savedInstance 是否为空,并且仅在它为空时才检查深层链接。

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

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

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

4

1 回答 1

5

您需要getInvitation()在您的启动器活动和您声明处理动态链接的活动中调用。

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

于 2016-06-07T21:18:09.117 回答