gpt4 book ai didi

java - Google 帐户凭据更改帐户/注销

转载 作者:行者123 更新时间:2023-12-01 08:53:09 24 4
gpt4 key购买 nike

我正在使用 Google Calendar API。我使用了 https://developers.google.com/google-apps/calendar/quickstart/android 中的代码.

有类似 GoogleAccountCredential 的东西,我使用以下方法将帐户名称设置为该对象:chooseAccountOnActivityResult。但我不知道在我的应用程序中设置帐户后如何更改帐户。我希望用户可以随时通过单击按钮从所选帐户注销来更改帐户。

我制作了新按钮并在 onClick 方法中尝试了这一点:

SharedPreferences settings =
getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(PREF_ACCOUNT_NAME, "");
editor.apply();



mCredential.setSelectedAccountName(null);

但是之后,点击按钮并再次尝试调用日历api,它就停止了。

最佳答案

我找到了解决方案。我将其放入 onClick 方法中(用于注销按钮):

SharedPreferences settings =
getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(PREF_ACCOUNT_NAME, "");
editor.apply();



mCredential.setSelectedAccountName("");
startActivityForResult(
mCredential.newChooseAccountIntent(),
REQUEST_ACCOUNT_PICKER_CHANGE);

这是onActivityResult的一部分:

case REQUEST_ACCOUNT_PICKER_CHANGE:
if (resultCode == RESULT_OK && data != null &&
data.getExtras() != null) {
String accountName =
data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
if (accountName != null) {
SharedPreferences settings =
getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(PREF_ACCOUNT_NAME, accountName);
editor.apply();
mCredential.setSelectedAccountName(accountName);
}
}
break;

看起来效果很好,单击注销按钮后用户可以再次选择 acc。但我不确定这是更改帐户的最佳方式。还有其他想法吗?

关于java - Google 帐户凭据更改帐户/注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42244990/

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