2011-08-23 17 views
9

私は、ユーザーがFacebookに画像を共有できるWebViewを持っています。このプロセスでは、FBにログインします。完了後、私はWebViewを破壊し、アプリはリセットされ、別のユーザーには同じ機能が提供されます。 WebViewが1つのセッションから次のセッションにログインしないようにすることを意図していますが、セッション終了時に手動でユーザーをログアウトする方法(明らかにhttp://www.facebook.com/logout.phpを呼び出すことはできません)、 WebViewとWebChromeClientの新しいインスタンスを取得してもそれを行うことはできません。WebviewでユーザーのFacebookセッションをクリアする

しかし、アプリケーションを(私が変更したときに)再インストールするとログインがクリアされることに気付きました。何らかの理由でWebkitがこれが別のアプリケーションであることを知ることができると思います再インストールされました)、私はこの(または他の)メカニズムを利用して、ユーザーのログイン情報を保持しているものをクリアすることを望んでいます...私はそれがクッキーだと思っていますが、です。

FBから手動でユーザーをログアウトする必要があるのは初めてですが、自分でoAuthを使ってログアウトする必要はありません(私はログインしていないので)。

答えて

30

クッキーによって設定されています。 API 21使用する前に:

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

今、この方法は、基本的にコールバックと同じですが、非同期であるremoveAllCookiesに置き換えられました。

+4

はい!素晴らしいです...私はちょうどこれを追加します(あなたがまだクッキーをクリアしようとしているときにWebViewをまだ作成していない場合は必要です)。http://developer.android.com/reference/android /webkit/CookieSyncManager.html#createInstance(android.content.Context) –

+1

注:removeAllCookie()は推奨されていません – Roman

関連する問題