我在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?