如何运行 像PendingResult.await 一样同步新建gms Task 对象?
How to run new gms Task object synchronously like PendingResult.await?
我在 com.google.android.gms.tasks.Task
上没有看到任何 await
同步 api。我错过了什么吗?我正在尝试迁移以在 Play 服务中使用新的 *Client 类。我已经在另一个线程中将我的代码设计为 运行 并使用 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()
Tasks
class 包含静态 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
}
我在 com.google.android.gms.tasks.Task
上没有看到任何 await
同步 api。我错过了什么吗?我正在尝试迁移以在 Play 服务中使用新的 *Client 类。我已经在另一个线程中将我的代码设计为 运行 并使用 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()
Tasks
class 包含静态 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
}