我有一个问题,当重新启动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)
。