手机通话iOS 7后回到应用程序

时间:2013-12-22 17:20:36

标签: ios objective-c ios7

我使用了以下代码:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", self.phoneNumber]]];

拨打电话后,拨号器会转到手机应用程序,而不是返回我的应用程序。

有什么想法吗?

iOS 7. Xcode 5。

1 个答案:

答案 0 :(得分:12)

您可以进行相同类型的调用,但将tel://替换为telprompt://,以便它看起来像:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"telprompt://%@", self.phoneNumber]]];

一旦完成电话通话,这将使您返回应用程序。这将适用于大多数iOS版本。

编辑 - 2015年7月14日

我在下面的评论中获悉,使用telprompt://实际上不支持Apple,因此他们可以随时决定更改此内容,这可能会影响您的应用。所以我的建议是将此调用包装在canOpenURL:中,看看你是否可以事先打开URL并处理它,如果你不能。

我实际上可能会在App加载时检查这个并将其设置为一个全局变量,您可以在构建UI时检查它,如果您不能创建它,可能根本就不提供该功能更好的用户体验。

非常感谢NicolasMiari指出错误并提供iOS: return to app when the call fails的链接