Выход из GoogleFit

Я пытался использовать это, однако рекомендуется ничего не делать:

Fitness.getConfigClient(this, GoogleSignIn.getLastSignedInAccount(this)).disableFit()

Как я аутентифицируюсь в Google:

if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) {
        GoogleSignIn.requestPermissions(this, REQUEST_OAUTH_REQUEST_CODE,
                GoogleSignIn.getLastSignedInAccount(this),
                fitnessOptions);
    } else {
        subscribe();
    }



@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK) {
            if (requestCode == REQUEST_OAUTH_REQUEST_CODE) {
                subscribe();
            }
        }
    }



public void subscribe() {
        
        Fitness.getRecordingClient(this, GoogleSignIn.getLastSignedInAccount(this))
                .subscribe(DataType.TYPE_STEP_COUNT_CUMULATIVE)
                .addOnCompleteListener(
                        new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                if (task.isSuccessful()) {
                                    Log.i(TAG, "Successfully subscribed!");
                                } else {
                                    Log.w(TAG, "There was a problem subscribing.", task.getException());
                                }
                            }
                        });
    }

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


person compSciStudent    schedule 15.09.2020    source источник


Ответы (1)


Для отключения учетной записи Google от вашего приложения вы должны использовать метод signOut из GoogleSignIn, который сохранит предоставленные разрешения, или вы можете использовать метод revokeAccess для выхода и отзыва предоставленных разрешений:

val options = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .addExtension(getFitnessOptions())
    .requestProfile()
    .build()

GoogleSignIn.getClient(this, options).signOut() // or GoogleSignIn.getClient(this, options).revokeAccess()
person sela    schedule 08.10.2020