我已经成功实现了 firebase 动态链接,但未能从任务中获取缩短链接,以便它可以在其他类中使用,有什么帮助吗? 这是我到目前为止的代码:
Uri Shortlink;
protected void onCreate(Bundle savedInstanceState)
{
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(Uri.parse(linkHere))
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>()
{
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task)
{
if (task.isSuccessful())
{
// Short link created (THIS WORKS FINE)
Shortlink = task.getResult().getShortLink();
Log.i("CHEK 1", "shortLink = " + Shortlink);
}
else
{
// Error
}
}
});
// I want this shortlink out of this task here. But i am getting (Null)
Log.i("CHEK 2", "shortLink = " + Shortlink);
}
最佳答案
任务是异步的。您只能在添加到其中的监听器内获取结果。尝试让任务等待其结果准备好是一个坏主意,因为您会阻塞主线程。这可能会导致您的应用程序 ANR .
您应该重写代码来处理该监听器内的任务结果,就像您对 CHEK 1 行所做的那样。
关于java - 我怎样才能让firebase短链接脱离任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47999148/