我正在使用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
答案 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);
}