我正在我的项目中实施Google登录,但这个问题很难解决。根据{{3}},当我没有签名时,GoogleSignIn.getLastSignedInAccount(activity)
会返回null
,这就是它应该做的事情。当我重新启动应用时,它会返回GoogleSignInAccount
,但会返回所有字段null
。
有关可能提供的其他个人资料数据,请参阅GoogleSignInAccount。请注意,任何配置文件字段都可以为null,具体取决于您请求的范围以及用户配置文件包含的信息。
所以我认为问题在于缺少所要求的信息,但我之前正确地将它们定义为:
GoogleSignIn.getClient(activity, GoogleSignInOptions.Builder()
.requestId()
.requestProfile()
.requestEmail()
.build()
);
此外,所有信息在使用上述相同的客户请求注册后都是完美的GoogleSignInAccount
。
答案 0 :(得分:2)
在我的游戏中,当GoogleSignIn.getLastSignedInAccount(activity)返回null时,我打电话 startSigninIntent:
private void startSignInIntent() {
GoogleSignInClient signInClient = GoogleSignIn.getClient(this,
GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
Intent intent = signInClient.getSignInIntent();
startActivityForResult(intent, RC_SIGN_IN);
}