我可以使用此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
答案 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。