Google Sign in but result code is 0(Google登录,但结果代码为0)
问题描述
我想为我的应用程序创建一个Google Sign,但是onActivityResult()
的结果代码是0
在我的onCreate()
方法中,我像这样启动函数startSignInIntent()
:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//some other stuff
view.loadUrl(myURL);
startSignInIntent();
}
这是startSignInIntent()
private void startSignInIntent() {
GoogleSignInClient signInClient = GoogleSignIn.getClient(this,
GoogleSignInOptions.DEFAULT_SIGN_IN);
Intent intent = signInClient.getSignInIntent();
startActivityForResult(intent, RC_SIGN_IN);
}
这是onActivityResult()
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "data : " + resultCode + " | " + data + " || " + RC_SIGN_IN + " ||| " + requestCode);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
// The signed in account is stored in the result.
GoogleSignInAccount signedInAccount = result.getSignInAccount();
} else {
String message = result.getStatus().getStatusMessage();
if (message == null || message.isEmpty()) {
Toast.makeText(this, "Login failed", Toast.LENGTH_LONG).show();
}
new AlertDialog.Builder(this).setMessage(message)
.setNeutralButton(android.R.string.ok, null).show();
}
}
这是函数onActivityResult()
0|Intent{(有附加内容)}||2|2
在我选择的帐户之后,弹出窗口中我可以选择我的帐户。我用OK得到这个屏幕,但是当我有了这个屏幕时,登录已经失败了。见图:
推荐答案
尝试检查是否为您的应用正确配置了正确的OAUTH密钥。根据这个相关的SO post,OP注意到Auth密钥也与造成该问题的其他项目相关联。
您还可以查看Try Sign-In for Android的以下实现,了解代码实现:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
// The Task returned from this call is always completed, no need to attach
// a listener.
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
handleSignInResult(task);
}
}
此外,OP还提供了一些附加信息,您需要确保在测试APK时已经对其进行了签名。有关详细信息,请参阅有关Sign Your App的文档。
希望这对您有帮助。
这篇关于Google登录,但结果代码为0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!