是否可以更改依赖于特定URL的UserAgent?像这样的东西。
String url = webView.getUrl();
String userAgent = webView.getSettings().getUserAgentString();
if (url.contains("website") && userAgent.contains(" Mobile Safari")) {
int index = userAgent.indexOf(" Mobile Safari");
if (index != -1) {
String fixedUserAgent = userAgent.substring(0, index);
webView.getSettings().setUserAgentString(fixedUserAgent);
}
} else {
if (!userAgent.contains("MyBrowser")) {
String fixedUserAgent = userAgent + " Mobile Safari/537.36 MyBrowser/" + BuildConfig.VERSION_NAME + "a";
webView.getSettings().setUserAgentString(fixedUserAgent);
}
}
但是我不知道该把代码放在哪里。谢谢。
将您的代码放入onLoadResource或PageStarted的该部分中,然后像这样添加webview.LoadUrl(youtURLs)
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (url.contains("website") && userAgent.contains(" Mobile Safari")) {
int index = userAgent.indexOf(" Mobile Safari");
if (index != -1) {
String fixedUserAgent = userAgent.substring(0, index);
webView.getSettings().setUserAgentString(fixedUserAgent);
webview.LoadUrl(youtURLs)
}
} else {
if (!userAgent.contains("MyBrowser")) {
String fixedUserAgent = userAgent + " Mobile Safari/537.36 MyBrowser/" + BuildConfig.VERSION_NAME + "a";
webView.getSettings().setUserAgentString(fixedUserAgent);
webview.LoadUrl(youtURLs)
}
}
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
});