Android 如何注销谷歌登录?

Android 如何注销谷歌登录?,android,android-activity,kotlin,google-signin,googlesigninapi,Android,Android Activity,Kotlin,Google Signin,Googlesigninapi,我如何注销谷歌登录 我知道我可以调用mGoogleSignInClient.signOut(),但我在登录活动中创建了mGoogleSignInClient。如何在“设置”活动中访问它(注销发生的位置) 在我的设置活动中,我有注销按钮,我希望能够调用一些与Google登录SDK和注销相关的静态方法 我真的需要在我的设置活动(注销按钮所在的位置)中重复上述步骤(我在登录活动中实现了这些步骤)吗 Auth.GoogleSignInApi.signOut(googleApiClient).setRes

我如何注销谷歌登录

我知道我可以调用
mGoogleSignInClient.signOut()
,但我在登录活动中创建了mGoogleSignInClient。如何在“设置”活动中访问它(注销发生的位置)

在我的设置活动中,我有注销按钮,我希望能够调用一些与Google登录SDK和注销相关的静态方法


我真的需要在我的设置活动(注销按钮所在的位置)中重复上述步骤(我在登录活动中实现了这些步骤)吗

Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(new ResultCallback<Status>() {
   @Override
   public void onResult(@NonNull Status status) {
      //set your action after log out
   }
});
Auth.GoogleSignInApi.signOut(GoogleAppClient.setResultCallback)(新的ResultCallback(){
@凌驾
public void onResult(@NonNull状态){
//设置注销后的操作
}
});
根据,使用signInClient:

mGoogleSignInClient.signOut()
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    // ...
                }
            });
mGoogleSignInClient.signOut()
.addOnCompleteListener(这是新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
// ...
}
});
我猜这些答案(@arjun,@Till)并没有真正回答这个问题

他们都假设GoogleSignInClient的实例存在

但是@rgoncalv问道:“我真的需要重复上述步骤吗?”

这意味着:他/她是否需要创建与登录活动中创建的相同的GoogleSignInClient实例(具有相同的选项)才能注销

顺便说一句,我很感兴趣同样的

有点棘手

  • 我使用SharedReferences在用户登录或 不是
  • 当我将标志设置为注销时,在我的代码中,我导航回登录
    活动
  • 在登录活动->onStart()上,如果记录了SharedReference标志
    但GoogleSignInAccount不为空,请执行注销并显示 登录界面
注意,对于新登录,由于用户尚未登录,注销将不起作用

mGoogleSignInClient.signOut()
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    // ...
                }
            });