在SO和google上引用了很多文章之后,找不到我的问题的解决方案。
问题是,我在WebViewClient类的onPageFinished方法中获取主机名。当getHost()多次返回主机名时会出现问题。但是我希望有一个单一的主机名。
例如:当我打开bmw.com网站时,getHost()会返回www.bmw.com两次,而m.bmw.com会在同一个网页上返回三次。
尝试使用onPageStarted,但结果与此类似。
甚至尝试使用WebChromeClient获取标题,但不能依赖它,因为有时它不会返回标题。
有没有办法在页面加载后获得一个SINGLE主机名?
这是我的代码
public void onPageFinished(WebView view, String url4){
String urlHost = null;
try {
urlHost = new URL(url4).getHost().toString();
} catch (MalformedURLException e) {
e.printStackTrace();
}
addressBarTextView.setText(urlHost);
}
答案 0 :(得分:0)
见了几点意见:
话虽如此,你可以做几件事:
"m.*" -> "www.*"
),如果您这样做,我建议您为用户提供一些选项,以便查看“真正的”网址。