android webview cookies禁用错误

时间:2014-12-17 16:37:49

标签: android oauth-2.0 instagram

我正在使用android-instagram-oauth进行Instagram登录,它在登出后第一次运行正常。当我累了再次登录我收到cookie错误。 (你可以看到附图) 网页视图:

private void setUpWebView() {

        mWebView.setVerticalScrollBarEnabled(false);
        mWebView.setHorizontalScrollBarEnabled(false);
        mWebView.setWebViewClient(new OAuthWebViewClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.clearFormData();
        mWebView.getSettings().setSavePassword(false);
        mWebView.getSettings().setSaveFormData(false); 
        mWebView.loadUrl(mUrl);

        mWebView.setLayoutParams(FILL);
        mContent.addView(mWebView);
    }



public  void ClearCookie()
{
    CookieSyncManager.createInstance(mWebView.getContext());
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);

    cookieManager.removeAllCookie();
    mWebView.clearFormData();
    mWebView.getSettings().setSavePassword(false);
}

当我厌倦了实现下面的代码。并且厌倦了使用不同的contexts.stils同样的错误。和文件在webview中填充。

https://github.com/thiagolocatelli/android-instagram-oauth

enter image description here

1 个答案:

答案 0 :(得分:1)

与Google OAuth2存在同样的问题。对我有用的是:

    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
        CookieManager.setAcceptFileSchemeCookies(true);
    }

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        cookieManager.setAcceptThirdPartyCookies(mWebView, true);
    }