android - 单击 URL 会打开默认浏览器

标签 android url android-webview android-websettings

我在 WebView 中加载了一个外部 URL。现在我需要的是,当用户点击加载页面上的链接时,它必须像普通浏览器一样工作,并在相同的 WebView 中打开链接。但它正在打开默认浏览器并在那里加载页面?

我已启用 JavaScript。但它仍然无法正常工作。我是不是忘记了什么?

最佳答案

如果您使用的是 WebView,如果您不想使用默认的 Android 行为,则必须自己拦截点击。

您可以使用 WebViewClient 监视 WebView 中的事件.你要的方法是shouldOverrideUrlLoading() .这允许您在选择特定 URL 时执行自己的操作。

您使用 setWebViewClient() method 设置 WebViewWebViewClient .

如果您查看 WebView sample in the SDK有一个例子可以满足你的要求。很简单:

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

关于android - 单击 URL 会打开默认浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378800/

相关文章:

regex - URL 安全字符 RegEx 将允许使用 UTF-8 口音!

java - 在 .xml 文件设计未显示在整个项目中

相当于 Matrix.mapPoints() 的 Android OpenGL

android - 使用 intent-filter 通过 Adob​​e AIR 应用程序打开文件类型

php - HTML 基本 URL 和链接

javascript - 如何在 url 中添加参数以在脚本之间传递数据

java - 每次滑动刷新后,如何阻止 WebView 应用程序进入主页?

android - 如何使用 WebMessagePort 作为 addJavascriptInterface() 的替代品?

Android webview 空白 - Android 28 SDK

javascript - Android Studio 与 TheMovieDB.com API 包装器 : unable to start activity ComponentInfo and lots of other errors