android - 从 Android 中的 HTML 页面调用电话号码时获取 net::ERR_UNKNOWN_URL_SCHEME

标签 android html error-handling android-manifest

我在从 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/

相关文章:

Android Studio 模拟器没有启动

html - li 上的“自动换行”而不是单个单词

Android Jetpack 撰写 : How to make Text utilize complete row space and break the word to new line in case of overflow?

html - angular 2句柄点击iframe内的链接

jquery - 为什么 jQuery 的 addClass 对我不起作用?

sql-server - 如何在使用T-SQL时有效地捕获错误

python - 重新错误: unterminated character set at position while reading stirng

java - 在java中初始化类时如何检查用户输入错误

java - 无法在 Activity 内调用 View 对象的方法

java - Android/Java - ServerSocket 和 Socket 通信的 ClassNotFoundException