iphone中调用系统打电话功能并且结束电话后返回自己的应用

2019-04-14 20:31发布

大家想不想在自己的应用中拨打电话呀?打电话可以用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"]];
看到了吗,其实就是改tel为telprompt. 这样,当电话结束手就可以返回到自己的应用程序。是不是很爽呢?