我正在使用以下代码
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) {
}
});
我有些设备,当我没有启动深度链接时,onSuccess被调用pendingDynamicLinkData == null,这很好,但在某些设备上,onSuccess和onFailure都没有被调用。如何解决这个问题?
答案 0 :(得分:1)
如果我说对了,您的意思是说您的Firebase动态链接中发生了两种情况:-
情况1->在某些设备上,正在调用onSuccess(PendingDynamicLinkDataendingDynamicLinkData)方法。 (这是预期的行为)
情况2->在某些设备上,既没有调用onSuccess(PendingDynamicLinkDataendingDynamicLinkData)回调,也没有调用onFailure(Exception e)。
我认为,如果您不执行当前位于用户前面的活动中代码的“ Firebase.getInstance()...”部分,或者现在编写此代码的活动现在正在执行,则可以这样做在后台。
例如:如果您在SplashActivity中执行此代码(Firebase.getInstance()...代码的一部分),通常会在几秒钟后消失,而MainActivity现在出现在用户面前,则在某些情况下设备既不会调用您的OnSuccess(PendingDynamicLinkDataendingDynamicLinkData),也不会调用您的onFailure(Exception e)回调。