gpt4 book ai didi

java - Android 的 GoogleSignInClient.signOut() 不会注销用户

转载 作者:行者123 更新时间:2023-11-30 05:01:29 25 4
gpt4 key购买 nike

1) 在我的HomeActivity 屏幕中会有一个用户注销按钮。此按钮导致 LoginActivity

signOut() 方法
 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);

//adding an onclicklistener to signOut button
findViewById(R.id.sign_out_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LoginActivity loginActivity = new LoginActivity();
loginActivity.signOut();
}
});
}

2) 在我的 LoginActivity 中,signOut() 方法将执行 this tutorial 中的内容由谷歌提供

public void signOut() {
mGoogleSignInClient.signOut()
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(getApplicationContext(), "Disconnecting...", Toast.LENGTH_LONG);
Intent i = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(i);
}
});
}

我希望上面的代码可以工作,但发生的事情是,当在注销后执行返回 LoginActivity 的 Intent 时,下面的 onStart() 方法进入 if (account != null) 并返回应该注销的用户

@Override
public void onStart() {
super.onStart();

// Check for existing Google Sign In account
GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this);

if (account != null) {
findViewById(R.id.sign_in_button).setVisibility(View.GONE);
Toast.makeText(this, "Logged as" + account.getDisplayName(), Toast.LENGTH_LONG).show();

} else {
findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE);
}
}

最佳答案

clearDefaultAccountAndReconnect() api 将清除之前登录的帐户详细信息。尝试在监听器的注销 onComplete() 方法中使用以下代码段。

if (mGoogleApiClient.hasConnectedApi(Auth.GOOGLE_SIGN_IN_API)) {
mGoogleApiClient.clearDefaultAccountAndReconnect();
mGoogleApiClient.stopAutoManage(context);
mGoogleApiClient.disconnect();
}

关于java - Android 的 GoogleSignInClient.signOut() 不会注销用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58172878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com