Set cookie for webview

pull/307/head
FongMi 2 years ago
parent d8f364cdfb
commit 1914bbffc2
  1. 27
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java

@ -69,6 +69,7 @@ public class CustomWebView extends WebView {
getSettings().setBuiltInZoomControls(true);
getSettings().setDisplayZoomControls(false);
getSettings().setLoadWithOverviewMode(true);
getSettings().setUserAgentString(Setting.getUa());
getSettings().setMediaPlaybackRequiresUserGesture(false);
getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
@ -76,29 +77,29 @@ public class CustomWebView extends WebView {
setWebViewClient(webViewClient());
}
private void setUserAgent(Map<String, String> headers) {
if (headers.isEmpty()) {
getSettings().setUserAgentString(Setting.getUa());
} else for (String key : headers.keySet()) {
if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT)) {
getSettings().setUserAgentString(headers.get(key));
break;
}
}
}
public CustomWebView start(String key, String from, Map<String, String> headers, String url, String click, ParseCallback callback, boolean detect) {
App.post(timer, Constant.TIMEOUT_PARSE_WEB);
this.callback = callback;
setUserAgent(headers);
loadUrl(url, headers);
this.detect = detect;
this.click = click;
this.from = from;
this.key = key;
start(url, headers);
return this;
}
private void start(String url, Map<String, String> headers) {
checkHeader(url, headers);
loadUrl(url, headers);
}
private void checkHeader(String url, Map<String, String> headers) {
for (String key : headers.keySet()) {
if (key.equalsIgnoreCase(HttpHeaders.COOKIE)) CookieManager.getInstance().setCookie(url, headers.get(key));
if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT)) getSettings().setUserAgentString(headers.get(key));
}
}
private WebViewClient webViewClient() {
return new WebViewClient() {
@Override

Loading…
Cancel
Save