在没有 alertView 的情况下使用 UIWebView 在 iOS 中以编程方式拨打电话

Posted

技术标签:

【中文标题】在没有 alertView 的情况下使用 UIWebView 在 iOS 中以编程方式拨打电话【英文标题】:Phone call programmatically in iOS using UIWebView without alertView 【发布时间】:2013-09-12 11:14:56 【问题描述】:

是否可以?基本上我知道,当我们查看 webview 并隐藏它并尝试拨打一个号码时,它会毫无问题地拨打该号码并毫无问题地返回应用程序。唯一的问题是,我们能否移除在此 web 视图执行代码“tel:” 时出现的警报视图。我也尝试了 openURL: 方法,但是在调用完成后我们没有回到应用程序。我的要求是我应该在不与任何警报视图交互的情况下以编程方式进行调用,并且在完成调用后应该返回应用程序。

【问题讨论】:

此代码将有助于在通话结束后返回应用程序,但不知道如何在没有警报的情况下使用 webview 拨打电话试试这个:NSURL *url = [NSURL URLWithString:@"telprompt: //123-4567-890"]; [[UIApplication sharedApplication] openURL:url]; 【参考方案1】:

恐怕您的要求目前无法实现。

    当您使用 webview 拨打电话时,您无法移除警报,因为它是 UIWebView 的行为。

    如果需要,您可以使用 telprompt:// URL 方案。但是,此 URL 方案将来可能会被删除。

    NSURL *url = [NSURL URLWithString:@"telprompt://%@",phoneNumber];
    if([[UIApplication sharedApplication]canOpenURL:url]) 
        [[UIApplication sharedApplication]openURL:url];
    
    

同样在这种情况下,您将收到警报,但您将返回到应用程序。

【讨论】:

以上是关于在没有 alertView 的情况下使用 UIWebView 在 iOS 中以编程方式拨打电话的主要内容,如果未能解决你的问题,请参考以下文章

使用没有alertView的UIWebView在iOS中以编程方式进行电话呼叫

UIAlertView 文本字段捕获 onchange

防止多个UIAlertView重叠弹出

为啥输入的文本或字母没有显示在 Iphone 模拟器的 alertView 文本字段中?

有没有办法在不离开 App 的情况下将评分发送到 App Store?

如何通过 AlertView 切换到另一个 ViewController 并执行 segue?