如何退出Google登录?

时间:2018-02-22 22:04:10

标签: android android-activity kotlin google-signin googlesigninapi

如何退出Google登录?

我知道我可以致电mGoogleSignInClient.signOut(),但我在登录活动中创建了mGoogleSignInClient。我如何在我的设置活动中进行访问(注销发生的地方)?

val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestIdToken("id_token")
        .requestEmail()
        .build()

googleSignInClient = GoogleSignIn.getClient(this, gso)

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

我是否真的需要重复上述步骤(我在登录活动中实施)进入我的设置活动(注销按钮所在的位置)?

4 个答案:

答案 0 :(得分:3)

您可以将其用于退出点击

Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(new ResultCallback<Status>() {
   @Override
   public void onResult(@NonNull Status status) {
      //set your action after log out
   }
});

答案 1 :(得分:1)

根据docs,使用signInClient:

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

答案 2 :(得分:0)

我猜这些答案(@ arjun,@ Till)并没有真正回答问题

他们两个都假定存在GoogleSignInClient实例

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

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

顺便说一句,我也有兴趣

答案 3 :(得分:-1)

有点棘手,

  • 如果用户已登录或 不是。
  • 当我将标志设置为注销时,在我的代码中,我导航回登录
    活动
  • 在登录活动中-> onStart(),如果记录了sharedpreference标志
    登出,但GoogleSignInAccount不为null,请登出并显示 登录界面。

注意,对于新的登录,由于用户尚未登录,注销将无法进行。