Google Sign in but result code is 0(Google登录,但结果代码为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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Google登录,但结果代码为0
基础教程推荐
猜你喜欢
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01