我在从 Android 中的 HTML 页面调用电话号码选项时收到“net::ERR_UNKNOWN_URL_SCHEME”。我是否需要在 list 中添加任何权限才能使其正常工作?到目前为止,我还没有在 list 中添加任何内容。这是 HTML 代码:
<a href="tel:+1800229933">Call us free!</a>
最佳答案
以下应该可以工作并且不需要 list 中的任何权限(基本上覆盖 shouldOverrideUrlLoading 并与 tel、mailto 等分开处理链接):
mWebView = (WebView) findViewById(R.id.web_view);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if( url.startsWith("http:") || url.startsWith("https:") ) {
return false;
}
// Otherwise allow the OS to handle things like tel, mailto, etc.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity( intent );
return true;
}
});
mWebView.loadUrl(url);
另外,请注意,在上面的代码 fragment 中,我启用了 JavaScript,您很可能也需要它,但如果出于某种原因您不需要,只需删除这两行即可。
关于android - 从 Android 中的 HTML 页面调用电话号码时获取 net::ERR_UNKNOWN_URL_SCHEME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697429/