以编程方式拨打电话号码并使用iPhone SDK传递DTMF

L. *_*nha 30 phone-call ios

如何以编程方式从iPhone SDK执行以下操作:

  1. 以编程方式通过iPhone SDK拨打电话号码

  2. 绕过iPhone显示的拨号/取消提示

  3. 拨号后发送额外的DTMF,就像您将暂停编程到普通电话中一样.

我知道你可以tel://拨打电话,但问题是它会调出拨号/取消提示,之后会阻止任何未来的DTMF被发送.

Ada*_*vis 31

iPhone SDK不允许您直接访问拨号号码(想象一下,如果手机上有"坏"程序,并且静音拨打了每分钟付费号码,那么您就没有注意到).

但是,如果您使用tel链接,那么您应该能够发送","插入暂停的字符.

所以要拨打555-1212,然后等待4秒,然后按触摸音做12345#你会用tel:5551212 ,, 12345#

查看 https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html

-亚当


AlB*_*ebe 18

我不知道为什么大家都说你不能......你CAN!

NSString *phoneNumber = @"15555551212";
NSString *dtmfAfterPickup = @"1234";
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
Run Code Online (Sandbox Code Playgroud)

这将拨打phoneNumber绕过拨号/取消提示...在应答呼叫后1秒钟,将自动拨打dtmfAfterPickup字符串.

检测设备是否支持电话是个好主意

  • @Krish你不能添加*或#.iOS阻止你这样做. (2认同)