0

我正在使用 twitter 4j 3.0.2 jar 我已将 twitter 集成到我的 android 应用程序中。我已成功登录并将推文发送到 twitter 帐户,但我在从我的 android 应用程序的 twitter 帐户注销时遇到问题。

我将其实现为与 twitter4j 示例应用程序相同,并且我在 twitter4j 示例应用程序中也注意到了同样的问题。

我已经完成的步骤

  1. 当我第一次从我的应用程序中单击登录按钮时,推特的登录页面打开了。2.我将令牌保存在 SharedPreferences 中。3.将登录按钮转换为注销。4.现在我点击注销按钮并从共享偏好中清除令牌。5.Convert logout button to login 6.Again点击login然后应该打开twitter的登录页面而不是授权app页面打开。

我的主要问题是如何从 android 应用程序中退出 twitter。twitter 缓存是否维护在设备的任何位置?如果是,那么我如何从我的 android 应用程序中清除 twitter 缓存。

Editor e = mSharedPreferences.edit();
        e.remove(PREF_KEY_OAUTH_TOKEN);
        e.remove(PREF_KEY_OAUTH_SECRET);
        e.remove(PREF_KEY_TWITTER_LOGIN);
        e.commit();
        //twitter.shutdown();
        twitter = new TwitterFactory().getInstance();
        twitter.setOAuthConsumer(TWITTER_CONSUMER_KEY,TWITTER_CONSUMER_SECRET);
4

3 回答 3

2

您需要在 Twitter 中使用强制登录。更多详情请看我之前的帖子

Twitter登录对话框错误

所以你只需要在你的授权网址中添加force_login=true即

http://twitter.com/oauth/authorize?force_login=true
于 2013-05-16T07:28:06.730 回答
1

最简单的方法是清除 cookie。

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

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

希望能帮助到你。

上面的代码将删除你所有的 cookie(如 twitter、facebook 和任何其他)

要从 twitter 注销,您需要将 twitter oauth cookie 设置为 null。

CookieManager.getInstance().setCookie(".twitter.com", "auth_token=''");

于 2015-10-14T05:49:56.370 回答
0

我解决了问题,只是将回调 url 从 oauth://t4jsample 更改为... public static final String TWITTER_CALLBACK_URL = "api.twitter.com/oauth/authorize?force_login=true";

于 2014-01-30T07:41:12.953 回答