退出GoogleFit

问题描述

我尝试使用this,但是推荐的操作却无效:

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帐户的选项。

解决方法

要从应用程序断开Goog​​le帐户的连接,您应使用GoogleSignIn中的signOut方法,该方法将保留授予的权限,或者您可以使用revokeAccess方法退出并撤销授予的权限:

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

GoogleSignIn.getClient(this,options).signOut() // or GoogleSignIn.getClient(this,options).revokeAccess()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...