Java 如何从android中的google帐户注销?

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

我正在开发的应用程序使用谷歌Auth2.0和android帐户管理器登录。我正在成功登录并使用不同的API从google获取数据,但我不知道如何从我的应用程序中注销,以及何时注销要再次显示登录屏幕。

我认为您无法注销,您必须再次显示AccountChooser

试一试


通常我在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
    }
}