0

Twitter 4j 3.0.2 jar を使用しています。Twitter を Android アプリに統合しました。Twitter アカウントに正常にログインしてツイートを送信しましたが、Android アプリから Twitter アカウントからログアウトすると問題が発生します。

これをtwitter4jサンプルアプリと同じように実装しましたが、twitter4jサンプルアプリでも同じ問題に気づきました。

私が行った手順

  1. 初めてアプリからログインボタンをクリックすると、Twitterのログインページが開きました。2.SharedPreferences にトークンを保存します。3.ログインボタンをログアウトに変換します。4.ログアウトボタンをクリックして、共有設定からトークンをクリアします。5. ログアウト ボタンをログインに変換します。

私の主な問題は、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 ログイン ダイアログ エラー

したがって、認証 URL にforce_login=trueを追加するだけです。

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

最も簡単な方法は、Cookie をクリアすることです。

次の 1 行のコードをonCreatewebview クラスに記述します。

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

Call back url を oauth://t4jsample から... public static final String TWITTER_CALLBACK_URL = "api.twitter.com/oauth/authorize?force_login=true"; に変更するだけで問題を解決しました。

于 2014-01-30T07:41:12.953 に答える