пользователь выходит из системы при изменении активности с помощью googlePlay в API - PullRequest
0 голосов
/ 16 октября 2018

Когда пользователь входит в систему со страницы регистрации, он показывает успешный вход, однако, когда я перехожу к следующему действию и проверяю, вошел ли он в систему, он показывает, что ни один пользователь не вошел в систему,

Код, который я использую для входа в систему:

 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(getString(R.string.default_web_client_id))
            .requestEmail()
            .build();
}
@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 {
            GoogleSignInAccount account = task.getResult(ApiException.class);
            firebaseAuthWithGoogle(account);
            Intent intent = new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
            finish();
            progressDialog.dismiss();
        } catch (ApiException e) {
            Log.w(TAG, "Google sign in failed", e);
            String s =  task.getException().getMessage();
            Toast.makeText(getApplicationContext(),"" + s,Toast.LENGTH_LONG).show();
            progressDialog.dismiss();
        }
    }
}

private void updateUI(FirebaseUser user) {
    if (user != null) {
       /* Intent intent = new Intent(getApplicationContext(),MainActivity.class);
        startActivity(intent);
        finish(); */
    } else {

    }
}

private void firebaseAuthWithGoogle(GoogleSignInAccount acct) {
    Log.d(TAG, "firebaseAuthWithGoogle:" + acct.getId());


    AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
    Auth.signInWithCredential(credential)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        // Sign in success, update UI with the signed-in user's information
                        Log.d(TAG, "signInWithCredential:success");
                        FirebaseUser user = Auth.getCurrentUser();
                       // updateUI(user);
                        Intent intent = new Intent(getApplicationContext(),MainActivity.class);
                        startActivity(intent);
                        finish();
                        progressDialog.dismiss();
                    } else {
                        // If sign in fails, display a message to the user.
                        Log.w(TAG, "signInWithCredential:failure", task.getException());
                        Snackbar.make(findViewById(R.id.snake), "Authentication Failed.", Snackbar.LENGTH_SHORT).show();
                        progressDialog.dismiss();
                    }
                }
            });
}

private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
   }
 }

Даже если действие открывается снова, оно все равно показывает, что пользователь вышел из системы

код, который я используючтобы проверить, вошел ли пользователь в систему или нет, приведено ниже: -

mAuth = FirebaseAuth.getInstance();
    if (mAuth.getCurrentUser() !=  null) {

        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }

Я сослался на developer.google.com для этого кода.Любая помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...