如何以编程方式从iPhone SDK执行以下操作:
通过iPhone SDK以编程方式拨打电话号码
绕过iPhone出现的拨号/取消提示
拨打号码后发送额外的DTMF,就像您将暂停程序编入普通电话一样。
我知道您可以进行tel://
通话,但问题是它会显示拨号/取消提示,之后会阻止任何未来的DTMF发送。
答案 0 :(得分:30)
iPhone SDK不允许您直接访问拨号号码(想象一下,如果手机上有“坏”程序,并且静音拨打了每分钟付费号码,那么您就不会注意到这一点。)
但是,如果你使用tel链接,那么你应该能够发送“,”插入暂停的字符。
所以要拨打555-1212,然后等待4秒,然后按照你要使用的电话口号做12345#:5551212 ,, 12345#
答案 1 :(得分:18)
我不知道为什么每个人都说你不能......你 CAN !
NSString *phoneNumber = @"15555551212";
NSString *dtmfAfterPickup = @"1234";
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
这将拨打 phoneNumber ,绕过拨号/取消提示...在应答呼叫后1秒, dtmfAfterPickup 字符串将自动拨打。
是一个好主意答案 2 :(得分:2)
根据上面的Adam的Apple开发者链接,这个RFC链接解释了有关iPhone支持的电话链接方案的不同选项的更多信息 -
http://www.ietf.org/rfc/rfc2806.txt
这至少允许您在URL中插入带有'p'的暂停,但是根据RFC指定了很多选项(但并非所有选项都是必需的)。还有什么用?
答案 3 :(得分:1)
我使用CoronaSDK和openurl API尝试使用我的iPhone。 它运作得很好! 只需:system.openURL(“tel:[phonenumber],123”)。 您可以使用附加逗号等待更多内容。 使用Corona SDK / iOS7进行测试。
答案 4 :(得分:0)
实际上,我刚试过以下555-555-4822 EXT 8030
即使在按下拨号后它似乎也传输了一些音调(p的数量表示延迟的秒数)。然而,音调没有像预期那样在远端响应,所以有些事情仍然不对。
然而,这确实有效,虽然它更容易出现计时问题,电话:555-555-4822,8030。这只是在连接后暂停一秒钟(,即两秒钟),然后播放8030音
答案 5 :(得分:-1)
你不能这样做。 SDK不允许您在此详细程度中控制手机功能。