android – Firebase动态链接处理两次

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

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

我正在使用最新的(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是否为null,并且只检查了深度链接.
>我正在检查onNewIntent中的深层链接,以便在应用程序运行时处理它,但是当问题发生时不会调用它.
>在我的清单中,具有特定协议和主机的intent-filter仅包含在主活动中.该协议也用于其他活动中的其他过滤器,但我也尝试在那些没有效果的协议中使用不同的协议.只有主要活动使用AppInvite.AppInviteApi.getInvitation来获取意图.即使我从所有活动中删除其他意图过滤器,也会出现此问题.

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

解决方法

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

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...