gpt4 book ai didi

java - 如何仅将网站页面发送到默认浏览器并在 webview 中加载其余网站页面?

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:08 25 4
gpt4 key购买 nike

我正在 android studio 中的 webview 上工作,我需要加载一个网站,但我也不想在 webview 中加载该网站的某些特定页面。假设我在 web View 中加载 https://stackoverflow.com/questions/ ,但每当用户想要访问此 url 时,我想将 https://stackoverflow.com/questions/ask 发送到默认浏览器。

为此,我在我的 webViewClient() 中尝试了此代码,但它不起作用!

 @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("https://stackoverflow.com/questions/ask")){
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
return true;
}
return false;
}

最佳答案

如评论中所述:如果问题是,此方法永远不会触发,我怀疑 URL 的形式与您预期的形式不同。

尝试像这样记录传递的 URL:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("WebView", "shouldOverrideUrlLoading called with URL=" + url);
if(url.contains("questions/ask")){
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
return true;
}
return false;
}

我怀疑前面没有 https 而是 http ,或者完全省略了该内容,或者只是您所在路径的相对路径(即只是“问题/询问”)

关于java - 如何仅将网站页面发送到默认浏览器并在 webview 中加载其余网站页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51819615/

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