Java 如何从android中的google帐户注销?
我正在开发的应用程序使用谷歌Auth2.0和android帐户管理器登录。我正在成功登录并使用不同的API从google获取数据,但我不知道如何从我的应用程序中注销,以及何时注销要再次显示登录屏幕。我认为您无法注销,您必须再次显示AccountChooser 试一试Java 如何从android中的google帐户注销?,java,android,google-api,google-oauth,google-authentication,Java,Android,Google Api,Google Oauth,Google Authentication,我正在开发的应用程序使用谷歌Auth2.0和android帐户管理器登录。我正在成功登录并使用不同的API从google获取数据,但我不知道如何从我的应用程序中注销,以及何时注销要再次显示登录屏幕。我认为您无法注销,您必须再次显示AccountChooser 试一试 通常我在SharedReferences上保存帐户名,在注销时只需从SharedReferences中删除帐户名。从onActivityResult保存帐户名 if (resultCode == Activity.RESULT_OK
通常我在SharedReferences上保存帐户名,在注销时只需从SharedReferences中删除帐户名。从onActivityResult保存帐户名
if (resultCode == Activity.RESULT_OK && data != null && data.getExtras() != null) {
String accountName = data.getExtras().getString(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.commit();
//do the rest after saving the account name on SharedPreferences
}
}
和注销(我的注销发生在不同的活动上):
登录时,您已将数据即访问令牌保存在共享首选项中。因此,当您想注销时,请清除共享首选项。这是注销的唯一方法。谢谢,但什么是“某些请求代码”参数。请给我e.gYou可以自己编,但试试6789嘿什么是“PREF\u ACCOUNT\u NAME”参数只是一个字符串变量,如:final string PREF\u ACCOUNT\u NAME=“accountName”;
if (resultCode == Activity.RESULT_OK && data != null && data.getExtras() != null) {
String accountName = data.getExtras().getString(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.commit();
//do the rest after saving the account name on SharedPreferences
}
}
private void logOut(){
SharedPreferences sharedPreferences = getSharedPreferences("MainActivity",Context.MODE_PRIVATE);
if (sharedPreferences.getString(PREF_ACCOUNT_NAME,null)!=null){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.remove(PREF_ACCOUNT_NAME);
editor.commit();
//here show the log-in screen again
}
}