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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...