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

标签 android android-studio-3.0

我的 GoogleSignin 代码无法正常工作,但没有发生以下错误:

  • 代码正在编译中。
  • 此外,当我点击登录时,我会收到一个弹出窗口,询问我要使用哪个 Google 帐户登录。
  • onActivityResult中的responseCode0

直到昨天它都运行良好,但我在生成签名 APK 时遇到了一些问题,因此升级了我的 Android Studio (3.3.1),更改了一些 gradle - 现在 GoogleSignin 无法正常工作。

为此折腾了一天,还是没能解决问题。我不太精通 Android 编程,希望得到任何帮助。

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

谢谢。

附言: - startActivityForResult 中的signInIntentonActivityResult 中的intent 是不同的。可能这很好 - 想突出显示以防万一。

开始 Activity 是:

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

结果 Activity 是:

   @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;

渐变:

    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'

最佳答案

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

Google SignIn 通常返回 Activity.RESULT_CANCELLED,而您没有返回。

关注this instruction如果你没有。

关于android - GoogleSignIn 停止工作 - onActivityResult 中的 responseCode 为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54610264/

相关文章:

android - 获取 Firebase 数据库中所有包含用户 id 的子项

java - 编译器是否优化了同一语句中对同一方法的多次调用?

android - 如何通过 Scanner 向 TableLayout 添加数据?

java - 无法在网格布局中的卡片 View 项目 ClickListener 上显示 Toast 消息或打开新 Activity ...!

android-emulator - 安卓工作室 3.0.1。在 android 模拟器上的工作非常缓慢

安卓工作室 : Unresolved symbol "Theme" in styles. xml

android - flutter应用开发中的依赖问题

android - 为什么 android studio 在应用文件模板后进行 gradle 同步?

java - 尝试在 Android Studio 上启动我的第三个 Activity 时被重定向到初始 Activity

Android Studio 3.0 - Logcat 窗口无法显示过滤器输入控件