gpt4 book ai didi

android - webview 打开特定域的站点

转载 作者:搜寻专家 更新时间:2023-11-01 08:05:32 24 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,它可以在 web View 中打开某个网站的所有网页,例如 www.yahoo.com,但在 defaultbrowser 中打开所有其他网页。这是我正在使用但无法完全正常工作的代码。

private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("http://www.yahoo.com")) {
// This is my web site, so do not override; let my WebView load
// the page
return false;
}
// Otherwise, the link is not for a page on my site, so launch
// another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}

在我看来这段代码应该可以工作,但是当我加载 yahoo 时它仍然会转到外部浏览器。任何帮助,将不胜感激。谢谢!

最佳答案

这是一种不同的方法。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String urlHost = Uri.parse(url).getHost();
switch (urlHost) {
case "yahoo.com":
return false;
case "www.yahoo.com":
return false;
case "m.yahoo.com":
return false;
default:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}

关于android - webview 打开特定域的站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com