原文地址:http://blog.csdn.net/favormm/article/details/6034952
大家想不想在自己的应用中拨打电话呀?打电话可以用openURL:这个API, 如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];但是当电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?这儿有两种方法与大家分享。
第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。
代码如下:
// assuming you have an ivar to store a weak reference to a UIWebView: // UIWebView *phoneCallWebView; - (void) dialPhoneNumber:(NSString *)aPhoneNumber { NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",aPhoneNumber]]; if ( !phoneCallWebView ) { phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; } [phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]]; } - (void) dealloc { // cleanup [phoneCallWebView release], phoneCallWebView = nil; [super dealloc]; }
第二种是私有方法,不能上App Store的。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10086"]];