Firebase 动态链接 onSuccess 或 onFailure 被调用

Swe*_*lla 7 android firebase firebase-dynamic-links

我正在使用下面的代码

        FirebaseDynamicLinks.getInstance()
                            .getDynamicLink(getIntent())
                            .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                                @Override
                                public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
...
     }
                            })
                            .addOnFailureListener(this, new OnFailureListener() {
                                @Override
                                public void onFailure(@NonNull Exception e) {

                                }
                            });
Run Code Online (Sandbox Code Playgroud)

我在一些设备上,当我不启动时抛出了一个深层链接,onSuccess 被调用,pendingDynamicLinkData == null,这很好,但在某些设备上,onSuccess 和 onFailure 根本没有被调用。如何解决这个问题?

Kha*_*hay 1

如果我没理解错的话,你的意思是说,你的 Firebase 动态链接代码中发生了两种情况:-

情况 1 -> 在某些设备上,正在调用 onSuccess(PendingDynamicLinkDataendingDynamicLinkData) 方法。(这是预期的行为)

情况 2 -> 在某些设备上,既未调用 onSuccess(PendingDynamicLinkData、pendingDynamicLinkData) 回调,也未调用 onFailure(Exception e)。

我认为如果您没有执行当前位于用户前面的活动中的“Firebase.getInstance()...”代码部分,或者您编写此代码的活动现在位于后台,则可以这样做。

例如:如果您在 SplashActivity 中执行此代码(您的 Firebase.getInstance()... 部分代码),该代码通常会在几秒钟后消失,并且您的 MainActivity 现在出现在用户面前,那么在某些设备中您的OnSuccess(PendingDynamicLinkDataendingDynamicLinkData) 或 onFailure(Exception e) 回调都将被调用。