代码之家  ›  专栏  ›  技术社区  ›  androidguy

如何像pendingreult.await那样同步运行新的gms任务对象?

  •  0
  • androidguy  · 技术社区  · 7 年前

    我什么也没看到 await 上的同步api com.google.android.gms.tasks.Task PendingResult.await . 我的代码是这样的:

    val pendingResult = Auth.GoogleSignInApi.silentSignIn(TwinkleApplication.instance.gapiClient)
    val account = pendingResult.await(10, TimeUnit.SECONDS)
    

    我想用这个,但不知道怎么继续。

        val signin = GoogleSignIn.getClient(ctx, Global.getGSO())
        val task = signin.silentSignIn()
    
    1 回复  |  直到 7 年前
        1
  •  7
  •   gregdev    7 年前

    这个 Tasks 类包含静态 await 方法-在Java中,我正在执行以下操作:

    GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(context, gso);
    
    Task<GoogleSignInAccount> task = googleSignInClient.silentSignIn();
    
    try {
        GoogleSignInAccount account = Tasks.await(task);
        ...
    } catch (ExecutionException e) {
        // task failed
    } catch (InterruptedException e) {
        // an interrupt occurred while waiting for the task to finish
    }
    
    推荐文章