Whenever I try to sign in by launching the google sign-in intent, it directly goes to the onActivityResult without me having the chance to choose an account. It just dimms the screen, but the window to select an account doesn't show up The Login then fails with this ApiException:
java.lang.ClassNotFoundException: com.google.android.gms.common.api.Scope
and
java.lang.RuntimeException: Canvas: trying to draw too large(256000000bytes) bitmap.
(full stack trace: https://pastebin.com/vBZeBLu0)
All of my used dependencies are up to date and my credentials (oAuth client-id) are all set up correctly, I tried the solutions of other similar problems, but none of them solved my issue, i also checked if the user is logged out completely from the device and the issue kept reaccuring.
This is my Log-in Activity:
public class Login extends Activity implements GoogleApiClient.OnConnectionFailedListener, GoogleApiClient.ConnectionCallbacks {
private static final String TAG = "LoginProcess";
SignInButton gsignInButton;
private static final int RC_SIGN_IN = 1;
DatabaseReference mRef;
FirebaseAuth mAuth;
FirebaseAuth.AuthStateListener mAuthListener;
GoogleSignInOptions gso;
GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcomescreenlogin);
mAuth = FirebaseAuth.getInstance();
gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
gsignInButton = findViewById(R.id.sib);
gsignInButton.setColorScheme(SignInButton.COLOR_DARK); // wide button style
gsignInButton.setOnClickListener(myhandler);
}
View.OnClickListener myhandler = new View.OnClickListener() {
public void onClick(View v) {
signIn();
}
};
public void signIn() {
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = task.getResult(ApiException.class);
firebaseAuthWithGoogle(account);
} catch (ApiException e) {
// Google Sign In failed, update UI appropriately
Log.w(TAG, "Google sign in failed", e); //this is where it always lands.
Toast.makeText(this, "login failed", Toast.LENGTH_SHORT).show();
// ...
}
}
}
full code for Login Activity: https://pastebin.com/6Yi7vzD7
Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.example.sanchez.worldgramproject"
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
versionCode 0
versionName "0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
api "com.google.android.material:material:1.0.0"
implementation 'com.github.madrapps:pikolo:1.1.6'
implementation 'com.google.android.gms:play-services-drive:16.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha02'
implementation 'com.github.bumptech.glide:glide:3.8.0'
implementation'com.firebaseui:firebase-ui-storage:2.3.0'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.6'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.exifinterface:exifinterface:1.0.0'
implementation 'com.google.firebase:firebase-storage:16.0.5'
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.firebase:firebase-database:16.0.5'
testImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
I have no idea what the cause of the problem is, how can i solve this issue and make the account selection window pop up?
from Why doesn't my google sign in window load?
No comments:
Post a Comment