android - Google 登录 - GoogleSignInAccount 返回 null
问题描述
我试图在我的应用程序中集成一个谷歌登录,但它一直失败,并且 GoogleSignInAccount 返回一个空对象并显示已取消。我不知道出了什么问题。是这个还是依赖项?这是我在 onCreate 中的代码
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestProfile()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.build();
final SignInButton googleLoginButton = (SignInButton) findViewById(R.id.googleLoginButton);
googleLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
googleSignIn();
}
});
这些是其他功能
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
// do nothing
}
private void googleSignIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
} else {
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
}
private void handleSignInResult(GoogleSignInResult result) {
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
if (acct != null) {
Toast.makeText(MainActivity.this, "Welcome " + acct.getDisplayName(),
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(MainActivity.this, "Cancelled!",
Toast.LENGTH_SHORT).show();
}
}
解决方案
推荐阅读
- python - Python OpenCV 安装 - 导入 cv2 时出现 DLL 错误
- google-apps-script - 在一个命令中隐藏或显示多列
- neo4j - Neo4j 获得带有评论和喜欢的朋友帖子
- javascript - 在 CommonJS Node 应用程序中导入 ES6 模块?
- javascript - 为 google recapthca v3 获取不同类型的令牌
- python - SAM 无需重建即可运行
- java - 如何将 gmail 中的图片显示到应用程序的导航视图中?
- chromecast - 铬卡斯特服务器酒店
- c# - 在 Apple Silicon 上的 Docker 容器中运行基于 .Net Core 的 Azure 函数
- sql - 使用 group by 的 sql 查询以查找学生已处理和待处理的作业