Tengo un problema con la adición de una autenticación de Facebook porque estoy usando autenticación de Google también y es por eso que tengo de error
public class SignUpActivity extends AppCompatActivity {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
//Google
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
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);
// ...
}
}
}
//and Facebook
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
Como se puede ver que tengo dos métodos onActivityResult. ¿Hay alguna manera de conectarlos y deshacerse de un error? Así es como se parece a mi error
método onActivityResult (int, int, Intención) ya está definido en SignUpActivity clase
Es sólo una comunicación de dos de los mismos métodos existentes. Gracias.
onActivityResult
es un método de Android, que recibe los resultados de las actividades que se inició con startActivityForResult
y devuelve el int request_code que ya ha proporcionado.
La solución es utilizar diferentes REQUEST_CODES a startActivityForResult
, para que pueda comparar a continuación, enonActivityResult
me gusta:
private static final int FACEBOOK_REQUEST_CODE = 1;
private static final int GOOGLE_REQUEST_CODE = 0;
startActivityForResult(googleLoginIntent, GOOGLE_REQUEST_CODE)
startActivityForResult(facebookLoginIntent, FACEBOOK_REQUEST_CODE)
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GOOGLE_REQUEST_CODE) {
//do the code for google result
} else if (requestCode == FACEBOOK_REQUEST_CODE) {
// do the code for facebook result
}
}