回答
按照教程
要拨打电话使用 -
NSURL *url = [NSURL URLWithString:@"tel://012-4325-234"];
[[UIApplication sharedApplication] openURL:url];
开启应用程式后,通话结束后使用 -
(注:telprompt是无证)
NSURL *url = [NSURL URLWithString:@"telprompt://012-4325-234"];
[[UIApplication sharedApplication] openURL:url];
网址无效 – 2012-01-20 05:28:05
如何拨打接入码? – 2012-07-09 07:26:33
不是telprompt://是否会被Apple拒绝的私有方法? – 2012-07-24 01:46:55
您可以使用UIApplication
的openURL:
方法以编程方式拨打电话号码(请参阅下面的示例)。我不确定访问代码是否受支持,但这至少是一个起点。
NSURL *URL = [NSURL URLWithString:@"tel://900-3440-567"];
[[UIApplication sharedApplication] openURL:URL];
编辑:见Apple URL Scheme Reference和UIApplication Class Reference以获取更多信息。
UIDevice *device = [UIDevice currentDevice];
if ([[device model] isEqualToString:@"iPhone"]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:130-032-2837"]]];
} else {
UIAlertView *notPermitted=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your device doesn't support this feature." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[notPermitted show];
[notPermitted release];
}
感谢球员发布代码真的有帮助,但访问代码如何自动拨打会议? – 2011-03-28 13:14:48
您应该使用canOpenURL而不是设备模型。请记住,iPad和iPod touch可以拨打FaceTime号码。 http://blog.mugunthkumar.com/coding/iphone-tutorial-better-way-to-check-capabilities-of-ios-devices/ – Mugunth 2012-09-18 01:58:48
真的十分感谢。如果您使用小写命名UIAlertView实例的话,会更加出色 – 2013-02-14 17:41:11
这是不可能以编程方式拨打该号码包括与接入码的电话号码。
苹果开发人员库提供了以下信息:
” ......电话应用程序支持大多数,但不是所有的电话方案的特殊字符,特别是,如果一个URL包含*或#字符,电话应用程序不会尝试拨打相应的电话号码。“
你确定这是不可能的,并确定苹果拒绝? – 2013-05-29 09:03:22
如果URL中包含'*'或''#它不工作 – 2013-06-04 11:28:55
除此之外情况下做它的工作原理? – 2013-06-04 11:32:32
我不知道,如果你真的找到了一个解决方案通过接入码,但对我这个代码工作:
NSString *dialstring = [[NSString alloc] initWithFormat:@"tel:your_phonenumber,your_accessnumber"];
这将导致拨号串用以下值:
:tel:9003440567,65445
其余部分由的iOS使用下面的命令的电话应用管理
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:dialstring]];
字符串中的,
在拨打第一个号码并建立连接后,会在您的电话系统(您想要访问会议室的那个)中暂停。因此,电话系统有时间询问您的访问代码(我认为它应该问你,这是我们的系统工作方式)。之后,您的访问代码应通过。
BE AWARE:您的访问代码将以非秘密方式传入。例如:您的显示访问代码会被这种方式显示在iPhone手机应用程序显示:9003440567,65445
dialstring必须使用“{”和“}” - >方法[[UIApplication sharedApplication] openURL:[NSURL URLWithString:dialstring]];而不是检查,如果设备是iPhone ...]':不叫 – vualoaithu 2013-12-23 09:10:06
使用此用户可以呼叫重定向,呼叫后,他/她将自动重定向到该应用程序。它为我工作,并确信它。
if ([[device model] isEqualToString:@"iPhone"]) {
NSString *phoneNumber = [@"telprompt://" stringByAppendingString:cellNameStr];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
} else {
UIAlertView *warning =[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your device doesn't support this feature." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[warning show];
}
由于其做工精细 – nivritgupta 2014-07-28 18:51:55
应该使用'[UIApplication的sharedApplication] canOpenURL。 – Zorayr 2015-04-25 18:47:17
有许多的方式来拨打电话号码和使用说明的方式:
[UIApplication的sharedApplication]的OpenURL:[NSURL URLWithString:@ “电话:555-555-5555” ]
是一个有效的方法来做到这一点,但它有一些问题。首先,它不会正确提示用户,其次在电话完成时它不会将用户带回应用程序。要正确地拨打电话,您应该在通话之前提示您,以免让用户感到意外,并且一旦通话完成,您应该将用户带回应用程序。
这些都可以在不使用私有API的情况下完成,正如这里的一些答案所建议的。推荐的方法使用telprompt api,但不使用调用的私有实例,而是创建一个允许未来兼容性的Web视图。
+ (void)callWithString:(NSString *)phoneString
{
[self callWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",phoneString]]];
}
+ (void)callWithURL:(NSURL *)url
{
static UIWebView *webView = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
webView = [UIWebView new];
});
[webView loadRequest:[NSURLRequest requestWithURL:url]];
}
样本项目和其他信息在这里提供: http://www.raizlabs.com/dev/2014/04/getting-the-best-behavior-from-phone-call-requests-using-tel-in-an-ios-app/
请注意原始问题,询问如何拨打号码以及接入码。访问代码可以通过使用暂停序列以及访问代码来拨打。暂停使用“555-1212,65455”完成。请注意,每个逗号通常代表大约两秒的暂停。 – graiz 2014-04-08 03:48:06
URL字符串应以“tel://”开头。虽然在示例中传递的参数phoneString可能以“//”开头,但我怀疑事实并非如此 – 2014-08-10 13:37:45
这里是斯威夫特一个独立的解决方案:
private func callNumber(phoneNumber:String) {
if let phoneCallURL:NSURL = NSURL(string: "tel://\(phoneNumber)") {
let application:UIApplication = UIApplication.sharedApplication()
if (application.canOpenURL(phoneCallURL)) {
application.openURL(phoneCallURL);
}
}
}
现在,你应该能够使用callNumber("7178881234")
拨打电话;希望这可以帮助!
- 1. 访问拨打的电话号码
- 2. 是否可以拨打带分机号码的电话号码?
- 3. 以编程方式拨打电话
- 4. 用*号码拨打电话号码
- 5. 从应用程序拨打带格式号码的电话号码
- 6. 如何以编程方式拨打Android SDK中的电话号码?
- 7. 访问android中拨打电话时的来电号码
- 8. 在手机上点击电话号码时拨打电话号码拨号器
- 9. 网站,可以拨打电话到指定的电话号码
- 10. 从另一个应用程序拨打电话号码拨打电话
- 11. 我该如何添加一个按钮,以编程方式给电话号码拨打电话?
- 12. 在swift中拨打电话号码
- 13. 自动拨打电话号码
- 14. 使用Swift拨打电话号码
- 15. 通过蓝牙拨打电话号码
- 16. 绕过拨号器拨打预定义的电话号码
- 17. iOS-拨打不分享号码的电话号码
- 18. 以编程方式在iPhone上拨打电话的局限性
- 19. 如何拨打号码时点击电话号码?
- 20. 如何在用户点击号码时拨打电话号码?
- 21. 以编程方式获取设备的电话号码
- 22. 以编程方式回答iPhone上的传入电话号码
- 23. Twilio多个代理拨打电话的一个号码
- 24. 从iOS或Android拨打电话时隐藏电话号码
- 25. 打电话意图拨打电话,在Android中选择一个电话号码?
- 26. 如何以编程方式获取android电话号码?
- 27. 目前iPhone拨号盘了号码,但没有实际拨打电话
- 28. 拨打号码
- 29. 在iOS中以编程方式拨打电话号码时显示联系人姓名
- 30. 在android中拨打电话的来电显示号码
可能重复的[编程式拨打电话号码和使用iPhone SDK传递DTMF](http://stackoverflow.com/questions/584663/programatically-dial-a-phone-number-and-pass-dtmf-using -the-iphone-sdk) – Senseful 2015-06-19 21:46:24