gpt4 book ai didi

java - Android WebView 不会在单击链接时启动标准浏览器 - shouldOverrideUrlLoading 无效

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

在我的 Android 应用程序中,我有一个带有自定义 WebViewClient 的 WebView 元素。它通过 onReceivedError() 显示错误页面,并为 shouldOverrideUrlLoading() 返回 false。

我希望 WebView 现在可以在外部浏览器中打开链接,而不是在 WebView 本身中打开链接,正如 SO 上的许多其他帖子中所解释的那样。但是,这不起作用。它仍然会打开 WebView 中的每个链接。

这可能与我不通过 loadUrl() 而是通过 loadData() 加载内容并传递 html 字符串这一事实有关吗?

最佳答案

您必须使用 Intent 在外部浏览器中启动 url。方法 shouldOverrideUrlLoading() 是一个不错的选择:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Context context = view.getContext();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

// Launch default browser
context.startActivity(browserIntent);

return true;
}

关于java - Android WebView 不会在单击链接时启动标准浏览器 - shouldOverrideUrlLoading 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14799445/

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