我的GoogleSignin代码无法正常运行,但以下提示没有错误:
responseCode
中的onActivityResult
是0
。到昨天为止,它的运行情况还算不错,但是在生成Signed APK时遇到了一些问题,因此升级了Android Studio(3.3.1),改变了一点点,现在GoogleSignin无法正常工作。
花了一天的时间,但未能破解该问题。我不精通Android编程,希望能对您有所帮助。
相关代码粘贴在下面。如果需要更多信息,请告诉我。
谢谢。
P.S .:
-signInIntent
中的startActivityForResult
和intent
中的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'
答案 0 :(得分:1)
您是否为项目设置了OAuth客户端ID?这要求您创建OAuth客户端ID,并提供密钥库的SHA-1。
当您未登录时,Google登录通常会返回Activity.RESULT_CANCELLED
。
如果没有,请遵循this instruction。