【问题标题】:Can I make a phone call from HTML on Android?我可以在 Android 上通过 HTML 拨打电话吗?
【发布时间】:2010-05-05 14:45:10
【问题描述】:

为了在 iPhone 上通过 HTML 拨打电话,我创建了一个 <A/> 标签,其 href 格式为:<a href='tel:123-555-1212'>Dial Me</a>

Android 上是否有 HTML 的等价物?

澄清 - 使用格式 href='tele:123-555-1212' 确实适用于 android。我正在设备上的本机 Java 包装器中测试该应用程序。我们似乎无法从托管在 Native Wrapper 中的 Web 应用程序进行调用。

【问题讨论】:

    标签: android html phone-call


    【解决方案1】:

    是的,你可以;它也适用于Android

    电话:电话号码
    调用输入的 电话号码。有效的电话号码 在 IETF RFC 3966 中定义的是 公认。有效的例子包括 以下:

    * tel:2125551212
    * tel: (212) 555 1212
    

    Android 浏览器使用电话应用来处理 RFC 3966 定义的“tel”方案。
    点击如下链接:

    <a href="tel:2125551212">2125551212</a>
    

    在 Android 上将调出电话应用程序并预​​先输入 2125551212 的数字,而无需自动拨号。

    看看RFC3966

    【讨论】:

    • 当您单击链接时,iphone 会自动发起呼叫(自动拨号)?还是像安卓? (打开拨号器,需要按通话键)。
    • 确保你有这个: 在你的 Manifest.xml
    【解决方案2】:

    我刚刚编写了一个可以从网页拨打电话的应用程序-我不知道这对您是否有用,但无论如何我包括:

    在您的 onCreate 中,您需要使用 webview 并分配 WebViewClient,如下所示:

    browser = (WebView) findViewById(R.id.webkit);
    browser.setWebViewClient(new InternalWebViewClient());
    

    然后像这样处理对电话号码的点击:

    private class InternalWebViewClient extends WebViewClient {
    
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
             if (url.indexOf("tel:") > -1) {
                startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
                return true;
            } else {
                return false;
            }
        }
    }
    

    如果您需要更多指点,请告诉我。

    【讨论】:

    • 谢谢 - 是的,这是一个好方法!我最终通过带有 addJavascriptInterface 的 JavaScript 添加了对我的应用程序的访问权限
    【解决方案3】:

    一般在 Android 上,如果你只是简单地显示电话号码,然后用户点击它,它就会在拨号器中将其拉起。所以,你可以简单地做

    For more information, call us at <b>416-555-1234</b>
    

    当用户点击粗体部分时,由于它的格式类似于电话号码,拨号器会弹出,并在电话号码字段中显示4165551234。然后用户只需点击通话按钮即可。

    你也许可以做到

    For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a>
    

    涵盖这两种设备,但我不确定这将如何运作。我会尽快试一试并通知您。

    编辑: 我刚刚在我的 HTC Magic 上尝试了这个,它使用 SenseUI 运行了一个根深蒂固的 Rogers 1.5:

    For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a><br />
    <br />
    Call at <a href='tel:416-555-1234'>our number</a>
    <br />
    <br />
    <a href='416-555-1234'>Blah</a>
    <br />
    <br />
    For more info, call <b>416-555-1234</b>
    

    第一个,用链接包围并打印电话号码,效果很好。用连字符和所有字符拉起拨号器。第二个,用链接说our number,工作方式完全相同。这意味着使用 &lt;a href='tel:xxx-xxx-xxxx'&gt; 应该可以全面使用,但我不建议将我的一次测试作为结论。

    直接链接到该号码的预期效果:试图从服务器上提取不存在的文件。

    最后一个和我上面提到的一样,拉起拨号器,但没有漂亮的格式连字符。

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 2023-03-21
      • 2020-04-22
      • 2011-06-22
      相关资源
      最近更新 更多