我正在尝试开发一款游戏,其中sign inPlay Games之后的用户被转发到另一个Activity。但是在第二个Activity上,我不知道如何获得他的username。我是否必须再次Sign in(这次是第二个Activity)来获取它?

我尝试过

GoogleSignIn.getClient(this, GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).toString();


但是它返回类似com.google.candroid.gms.auth.api.signin@的内容,而我想要的是他在Play games中的用户名,而不是这个。

我正在阅读此solution,但是在这里我必须再次创建一个new GoogleApiClient来获取它。

最佳答案

使用GoogleSignIn.getLastSignedInAccount方法来请求当前登录用户的配置文件信息。

GoogleSignInAccount acct = GoogleSignIn.getLastSignedInAccount(getActivity());
if (acct != null) {
  String personName = acct.getDisplayName();
  String personGivenName = acct.getGivenName();
  String personFamilyName = acct.getFamilyName();
  String personEmail = acct.getEmail();
  String personId = acct.getId();
  Uri personPhoto = acct.getPhotoUrl();
}


要了解更多信息,请转到官方文档:https://developers.google.com/identity/sign-in/android/people

10-04 12:34