首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google登录汽车失败

Google登录汽车失败
EN

Stack Overflow用户
提问于 2016-02-26 00:37:20
回答 1查看 221关注 0票数 1

我有三个设备来测试这个。Moto G第1代(4.4.4),Moto G第2代(5.0.1),Nexus 5 (6.0.1)。他们都在同一个无线网络上。下面的代码在Moto G第1代上工作得很好,但在另外两个方面却自动失败。即使使用不同的帐户。

我还在运行Android6.0的模拟器中测试了同样的问题。请帮帮忙。

日志:

代码语言:javascript
复制
D/Google Account: handleSignInResult: false

这是我的代码:

MainActivity.java - onCreate

代码语言:javascript
复制
gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();
GAPIclient = new GoogleApiClient.Builder(this)
    .enableAutoManage(this,this)
     .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
     .build();
signInIntent = Auth.GoogleSignInApi.getSignInIntent(GAPIclient);
if (logged_in){
   GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(signInIntent);
    if (result != null){
         acct = result.getSignInAccount();
    }
}

onStart,onStop,signIn,signOut (按下按钮呼叫)

代码语言:javascript
复制
@Override
    protected void onStart(){
        super.onStart();
       GAPIclient.connect();
}
@Override
protected void onStop() {
    super.onStop();
    if (GAPIclient.isConnected()) {
        GAPIclient.disconnect();
    }
}
public void signIn(){
     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(GAPIclient);
    startActivityForResult(signInIntent, RC_SIGN_IN);
}
public void signOut(){
Auth.GoogleSignInApi.signOut(GAPIclient).setResultCallback(new ResultCallback<Status>() {
        @Override
        public void onResult(Status status) {
        }
    });
    logged_in = false;
    SharedPreferences.Editor editor = settings.edit();
    editor.putBoolean("logged_in", false);
    editor.commit();
    accountFragment.makeSignIn();
}`

onActivityResult

代码语言:javascript
复制
@Override
public 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);
    }
}

句柄登录结果

代码语言:javascript
复制
private void handleSignInResult(GoogleSignInResult result) {
    if (result.isSuccess()){
       ...

更新

在我试图向凭据中添加第二个SHA1键之后,moto上的结果也是一样的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-17 02:15:03

您必须将调试和释放SHA1键都放在Google凭据页面中。

原因:由于某些原因,在调试模式下发送的密钥不一致。显然是基于设备的。谷歌妈妈..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35641218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档