Twitter4j,我该如何退出?

时间:2012-06-15 07:52:19

标签: java android twitter logout twitter4j

我可以使用此Twitter登录和发布,但我不知道如何注销。

我只是假装已经通过添加

退出了
CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.removeSessionCookie();

private boolean mCanTweet = false;

我尝试使用教程中的这个网址注销,但它无效。

public static final String TWITTER_LOGOUT_URL = "https://api.twitter.com/logout";

有人知道如何使用Twitter4j进行“实际”注销吗?

这是我的项目

http://dl.dropbox.com/u/12439052/stackoverflow/TwitterCon2.zip

7 个答案:

答案 0 :(得分:5)

我的twitter4j项目遇到了同样的问题。我通过使用此代码解决了这个问题

CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();

mTwitter.setOAuthAccessToken(null);
mTwitter.shutdown();
在重新加载验证活动之前,在注销方法中

答案 1 :(得分:4)

来自Twitter4J的作者Yusuke Yamamoto:“Twitter4J使用Basic auth标头以无状态方式通过API进行身份验证。 它完全是无状态的,不需要注销。“

https://groups.google.com/forum/?fromgroups=#!topic/twitter4j/WVdyLVluJpw

答案 2 :(得分:1)

从twitter注销的概念只是删除登录信息,您已退出。因为当您从应用程序发送推文或使用Twitter做某事时,它需要令牌等,所以您只需要删除它们。我的Android应用程序面临同样的问题,所以在谷歌搜索后,我找到了简单的解决方案。即删除信息。所以我清除了我的

SharedPrefferences

完成了。!

答案 3 :(得分:1)

最简单的方法是清除cookie。

在webview类的onCreate中编写一行代码。

android.webkit.CookieManager.getInstance()removeAllCookie();

希望它有所帮助。

答案 4 :(得分:0)

Twitter4J根本不需要登录,它会对Twitter API执行无状态请求。 所以你也不需要注销 参考:https://groups.google.com/forum/?fromgroups#!topic/twitter4j/WVdyLVluJpw

答案 5 :(得分:0)

即使twitter4j是无状态api,您也可以使用以下方法清除凭据

    private void clearCredentials() {
    final Editor edit = prefs.edit();
    edit.remove(OAuth.OAUTH_TOKEN);
    edit.remove(OAuth.OAUTH_TOKEN_SECRET);
    edit.commit();
    TwitterFactory().getInstance().shutdown();
}

答案 6 :(得分:0)

CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
TwitterSession.resetAccessToken();
Twitter_Handler.twitterObj.shutdown();

这里将公共静态变量设置为处理程序中的twitterObj和TwitterSession文件中的resetAccessToken。