如何从另一个类获取Firebase动态链接?

时间:2018-10-15 15:02:13

标签: android firebase-dynamic-links

我在Android应用程序中使用Firebase动态链接。在我的活动中,我使用以下代码来接收链接:

public Uri getLink(){
   Uri deepLink = null;

   FirebaseDynamicLinks.getInstance()
    .getDynamicLink(getIntent())
    .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
        @Override
        public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {

            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.getLink();
            }
        }
    })
    .addOnFailureListener(this, new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.w(TAG, "getDynamicLink:onFailure", e);
        }
    });

    return deepLink;
}

从浏览器/应用程序打开动态链接后,我想在另一个类中使用它,因此我调用此getLink()方法来获取deepLink,但会得到null。打开另一个链接后,得到了以前的deepLink。我猜是因为它异步工作。我该如何等待直到获得Url,或者如何在调用getLink()方法后解决该问题以获取Url?

0 个答案:

没有答案