我使用了以下代码:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", self.phoneNumber]]];
拨打电话后,拨号器会转到手机应用程序,而不是返回我的应用程序。
有什么想法吗?
iOS 7. Xcode 5。
答案 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的链接