回答
您可以轻松拨打电话下面这一行:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:12125551212"]];
如何在使用此命令时关闭通话应用程序。 – vualoaithu
使用“telprompt:”而不是“tel”,使电话应用程序在用户完成呼叫后将用户返回到您的应用程序。 –
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:<You button title as phone number>"]];
你不能打开刚才Phone应用程序手动输入号码。正如之前所建议的,您可以从您的应用程序拨打电话,这将打开默认的电话呼叫屏幕,一旦完成该呼叫,它将重定向回您的应用程序。
好的谢谢。我希望你能 –
我想补充(不只是复制&再次粘贴相同的答案!),如果你的电话号码包含空格,那么这行的代码将静默失败。
所以,即使电话应用说,它的拨打+41 44 123 4567,如果您尝试使用下面的行代码,什么都不会发生。它不会将其识别为电话号码。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:+41 44 123 4567"]];
所以,你需要去掉空格,然后拿到电话应用程序拨打该号码,此时它会添加它自己的空间回的电话号码时,显示它!
下面是我使用的代码(如电话号码,目前显示在UILabel
称为lblPhone):
NSString* phoneNumber = [self.lblPhone.text stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString* actionStr = [NSString stringWithFormat:@"telprompt:%@", phoneNumber];
UIDevice *device = [UIDevice currentDevice];
if ([[device model] isEqualToString:@"iPhone"]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:actionStr]];
}
该代码还检查您是否正在运行在iPad上的应用程序。如果您是,那么我们不想尝试拨打该号码。
此外,作为this线程的回答表明,你会看到我用telprompt:
而不是tel:
它有两个好处:
首先,它使一个小对话框出现,以检查用户真的想拨打该电话号码:
其次,当用户结束拨打此号码(和挂断),它会回报你回你的应用程序。奇怪的是,使用tel:
不这样做。
(测试用的XCode 5 &的iOS 7.1)
- 1. 用*号码拨打电话号码
- 2. 拨打电话时是否可以拨打电话号码?
- 3. 拨打电话时拨打电话号码。
- 4. 在手机上点击电话号码时拨打电话号码拨号器
- 5. 在swift中拨打电话号码
- 6. 从Java拨打Java的电话号码
- 7. 访问拨打的电话号码
- 8. 绕过拨号器拨打预定义的电话号码
- 9. 自动拨打电话号码
- 10. 使用Swift拨打电话号码
- 11. 如何用“##”拨打电话号码?
- 12. 通过蓝牙拨打电话号码
- 13. 打电话意图拨打电话,在Android中选择一个电话号码?
- 14. 从另一个应用程序拨打电话号码拨打电话
- 15. Android:拨打一个自定义号码,一旦拨打电话
- 16. 网站,可以拨打电话到指定的电话号码
- 17. 在android中拨打电话的来电显示号码
- 18. 访问android中拨打电话时的来电号码
- 19. iOS-拨打不分享号码的电话号码
- 20. 是否可以拨打带分机号码的电话号码?
- 21. 从iOS或Android拨打电话时隐藏电话号码
- 22. 如何在拨打电话时隐藏电话号码
- 23. 拨打电话
- 24. 如何拨打号码时点击电话号码?
- 25. 如何在用户点击号码时拨打电话号码?
- 26. 拨打外拨电话
- 27. 使用UITextField中的号码拨打电话
- 28. 从列表视图中的号码使拨打电话
- 29. ResponsiveVoice为多个话语只拨打一次电话号码
- 30. iPhone:拨打电话
为什么人投票这个问题了吗?这是一个非常有效的问题,正是我想要Google的。正如其他人所提到的,解决方案只有一行代码,但您可能会花费数小时搜索Apple文档,试图找到这个宝石。 –