java - 我怎样才能让firebase短链接脱离任务

标签 java android firebase firebase-dynamic-links

我已经成功实现了 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/

相关文章:

尝试在集群上 headless 运行 NetLogo 时出现 Java 错误

java - 为什么 ScheduledExecutorService 不打印堆栈跟踪?

android - Amazon Appstore DRM - 如何实现?

firebase - 如何将 Dart Firebase DatabaseReference 发送到本地

javascript - 带子集合的 Firebase 查询

android - 当应用程序打开时,应用程序未显示接收 FCM 的通知

Java : BST - removing a node with no children doesn't work

java - 如何在jsp页面中显示图片?

android - onRestoreTransactionsResponse 不断返回 RESULT_DEVELOPER_ERROR

android - 如何在不到处添加特定代码的情况下处理 auth0 403 错误 (Retrofit/okhttp/RxAndroid)