GoogleSignIn停止工作-onActivityResult中的responseCode为0

时间:2019-02-09 20:08:23

标签: android android-studio-3.0

我的GoogleSignin代码无法正常运行,但以下提示没有错误:

  • 代码正在被编译。
  • 此外,当我单击登录时,会弹出一个对话框,询问我要使用哪个Google帐户登录。
  • responseCode中的onActivityResult0

到昨天为止,它的运行情况还算不错,但是在生成Signed APK时遇到了一些问题,因此升级了Android Studio(3.3.1),改变了一点点,现在GoogleSignin无法正常工作。

花了一天的时间,但未能破解该问题。我不精通Android编程,希望能对您有所帮助。

相关代码粘贴在下面。如果需要更多信息,请告诉我。

谢谢。

P.S .:  -signInIntent中的startActivityForResultintent中的onActivityResult是不同的。也许很好-考虑以防万一。

开始活动是:

private void signIn() {
    if(!isSignedIn()) {
        Intent signInIntent = mGoogleSignInClient.getSignInIntent();
        startActivityForResult(signInIntent, RC_SIGN_IN_ONLY_ID);
    }
}

结果活动为:

   @Override
    public void onActivityResult(int requestCode, int responseCode,
                                 Intent intent) {
        super.onActivityResult(requestCode, responseCode, intent);
        switch (requestCode) {
        case RC_SIGN_IN_ONLY_ID:
            Log.d(TAG, "onActivityResult with requestCode == RC_SIGN_IN_ONLY_ID, responseCode="
                    + responseCode + ", intent=" + intent);
            mSignInClicked = false;
            mResolvingConnectionFailure = false;
           Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(intent);
            handleSignInResult(task);
            break;

gradle:

    buildscript {
    repositories {
    }

    dependencies {
    }
}
apply plugin: 'com.android.application'
repositories {
//    mavenLocal()
 //   mavenCentral()
  //  google()        //---> Add this
    maven {
        url "https://maven.google.com"
    }
}

android {
    signingConfigs {
        debug {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('C:/Users/.../androidkey.jks')
            storePassword 'xxx'
        }
        config {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('C:/Users/.../androidkey.jks')
            storePassword 'xxx'
            v2SigningEnabled false
        }
    }
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.goSkill.earn"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 18
        versionName "1.0098"
        multiDexEnabled true
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
            //debuggable true
            android.applicationVariants.all { variant ->
                variant.outputs.all {
                    outputFileName = "${variant.name}-${variant.versionName}.apk"
                }
            }
        }
        debug {
            signingConfig signingConfigs.debug
            minifyEnabled false
            debuggable true
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    productFlavors {
    }
}

dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    api 'com.google.android.gms:play-services:11.8.0'
    api 'com.android.support:design:27.0.0'
    api 'com.android.support:multidex:1.0.0'
}
//apply plugin: 'com.google.gms.google-services'

1 个答案:

答案 0 :(得分:1)

您是否为项目设置了OAuth客户端ID?这要求您创建OAuth客户端ID,并提供密钥库的SHA-1。

当您未登录时,Google登录通常会返回Activity.RESULT_CANCELLED

如果没有,请遵循this instruction