用编程方式拨打带有访问代码的电话号码

Sha*_*lam 47 iphone ios4 ios ios-simulator

如何在iOS中以编程方式拨打包含号码和访问代码的电话号码?

例如:

号码:900-3440-567
访问代码:65445

vij*_*ari 107

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];
}
Run Code Online (Sandbox Code Playgroud)

  • 您应该使用canOpenURL而不是设备模型.请记住,iPad和iPod touch可以调用FaceTime数字.http://blog.mugunthkumar.com/coding/iphone-tutorial-better-way-to-check-capabilities-of-ios-devices/ (7认同)
  • 谢谢你们发布代码真的很有帮助但是访问代码如何自动为会议拨号呢? (5认同)
  • 非常感谢.如果您使用小写字母命名UIAlertView实例,那会更好 (5认同)

saa*_*nib 34

按照教程

http://www.makebetterthings.com/blogs/iphone/open-phone-sms-email-map-and-browser-apps-in-iphone-sdk/

拨打号码使用 -

NSURL *url = [NSURL URLWithString:@"tel://012-4325-234"];
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)

在通话结束后打开你的应用 -

(注意:telprompt未记录)

NSURL *url = [NSURL URLWithString:@"telprompt://012-4325-234"];
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)


Chr*_*ble 19

您可以通过编程方式拨打电话号码UIApplication的openURL:方法(见下面的例子).我不确定是否支持访问代码,但这至少是一个起点.

NSURL *URL = [NSURL URLWithString:@"tel://900-3440-567"];
[[UIApplication sharedApplication] openURL:URL];
Run Code Online (Sandbox Code Playgroud)

编辑:有关详细信息,请参阅Apple URL方案参考和UIApplication类参考.


rub*_*ner 7

我不知道你是否真的找到了传递访问代码的解决方案,但对我来说这个代码有效:

NSString *dialstring = [[NSString alloc] initWithFormat:@"tel:your_phonenumber,your_accessnumber"]; 
Run Code Online (Sandbox Code Playgroud)

这将导致拨号字符串具有以下值: tel:9003440567,65445

其余部分由iOS的电话应用程序使用以下命令进行管理:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:dialstring]];
Run Code Online (Sandbox Code Playgroud)

该,字符串中导致您telephonesystem暂停第拨打该号码,并建立连接后右(您要访问的会议室中的一个).因此,电话系统有时间向您询问访问代码(我认为应该问您,这就是我们系统的工作方式).之后,您的访问代码应该被传递.

请注意:您的访问代码将以非秘密方式传递.例如:您显示的访问代码将以这种方式显示在iPhone手机应用程序中:9003440567,65445


Hem*_*ant 2

您可以使用电话 url 调用电话应用程序来为您拨打号码。请参阅此参考资料。

缺点是,一旦通话结束,用户将进入“电话”应用程序。但恐怕这个问题没有解决办法。出于安全和隐私原因,iOS 不允许任何应用程序直接发起呼叫。

您可以在拨号时使用逗号来引入暂停。