我创建了一个 web View 应用程序,显示的页面具有 market://链接,但单击它们后,我得到 404 屏幕以及不支持协议(protocol)的错误。我尝试过查看文档,但找不到与此相关的任何内容。非常感谢任何帮助。
最佳答案
对我来说,JavaScript 并不是一个解决方案,因为 HTML 不受我的控制。因此,如果您需要从应用程序端进行控制,那么有一个相对简单的解决方案:从 WebViewClient
派生并使用 WebView.setWebViewClient()
注入(inject)实现。您需要在 WebViewClient
实现中重写的是 shouldOverrideUrlLoading
方法,如下所示:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && url.startsWith("market://")) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
return false;
}
}
对我来说这很好用。
关于android - 支持 Android webview 中的其他协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583264/