如何删除android中共享首选项中保存的数据?

vin*_*thp 2 android facebook sharedpreferences

我在我的应用程序中使用facebook api.它的工作正常我可以登录并发布在墙上.但我无法删除登录信息.

这是代码

   public boolean saveCredentials(Facebook facebook) {
        Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();
        editor.putString(TOKEN, facebook.getAccessToken());
        editor.putLong(EXPIRES, facebook.getAccessExpires());
        return editor.commit();
    }

    public boolean restoreCredentials(Facebook facebook) {
        SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE);
        facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));
        facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));
        return facebook.isSessionValid();
    }

    public boolean removeCredentials()
    {
        SharedPreferences prefs = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE);

            facebook.setAccessToken(prefs.getString("", null));
        facebook.setAccessExpires(prefs.getLong("", 0));
        Editor editor = prefs.edit(); 
        editor.clear();
        editor.commit(); 
        return true; 
    }
Run Code Online (Sandbox Code Playgroud)

尚未通过调用removeCredentials()方法删除共享首选项详细信息.它只是在Facebook墙上发布消息.

我只是想删除保存的详细信息,如果用户再次请求在墙上发布消息,那么我需要弹出登录屏幕.

谢谢你的帮助

Nir*_*ali 11

请参阅以下链接

/sf/answers/258113341/

SharedPreferences.Editor.remove() followed by a commit()
Run Code Online (Sandbox Code Playgroud)

要么

SharedPreferences preferences = getSharedPreferences("Mypref", 0);
preferences.edit().remove("text").commit();
Run Code Online (Sandbox Code Playgroud)