我已经成功实现了firebase动态链接,但未能使缩短链接脱离任务,因此可以在其他类中使用它吗?
这是我的代码sofer:

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行一样,您应该重写代码以处理该侦听器中任务的结果。

10-04 11:57