我试图用一些cookie在WebView中加载一个URL。 在这里,我想为所有内部网址匹配设置cookie。 我已经尝试在WebViewClient的onPageStarted中设置cookie,但是它没有正确设置cookie。 谁能帮我解决这个问题,
此处是WebViewClient的代码
private void initDocsCustomWebView(View view) {
//mWebView = (DocsCustomWebView) view.findViewById(R.id.docs_web_view);
mWebView.setWebViewListener(mViewerActivity, this);
mWebView.setGeolocationEnabled(false);
mWebView.setMixedContentAllowed(true);
mWebView.setCookiesEnabled(true);
mWebView.setThirdPartyCookiesEnabled(true);
mWebView.setScrollContainer(true);
mWebView.setVerticalScrollBarEnabled(true);
mWebView.setHorizontalScrollBarEnabled(true);
mWebView.getSettings().setSupportMultipleWindows(true);
mWebView.getSettings().setJavaScriptEnabled(true);
CookieSyncManager.createInstance(view.getContext());
mWebView.setWebViewClient(new WebViewClient() {
@Nullable
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
return super.shouldInterceptRequest(view, request);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap icon) {
if (view.getVisibility() == View.VISIBLE) {
showLoader();
}
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
}
@Override
public void onPageFinished(WebView view, String url) {
String cookies = CookieManager.getInstance().getCookie(url);
hideLoader();
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
}
});
}
这就是我加载网址
private void setWebViewURL(String previewURL, String cookie) {
if (mWebView != null && NetworkUtil.isOnline()) {
if (!webviewLoadingStarted) {
mWebView.addHttpHeader(Constants.COOKIE_VALUE, cookie);
mWebView.loadUrl(previewURL);
}
}
}
我只加载一个URL,这将在内部加载多个URL。 我正在尝试为所有内部url调用设置cookie。
谢谢, 诺鲁尔。