IOS 调用拨打电话

时间:2022-11-10 07:25:44

http://blog.csdn.net/favormm/article/details/6034952

原链接


大家想不想在自己的应用中拨打电话呀?打电话可以用openURL:这个API, 如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];但是当电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?这儿有两种方法与大家分享。

 

第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。

代码如下:

  1. // assuming you have an ivar to store a weak reference to a UIWebView:  
  2. // UIWebView *phoneCallWebView;  
  3. - (void) dialPhoneNumber:(NSString *)aPhoneNumber  
  4. {  
  5.     NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",aPhoneNumber]];  
  6.     if ( !phoneCallWebView ) {          
  7.         phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];  
  8.     }  
  9.     [phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]];  
  10. }  
  11. - (void) dealloc  
  12. {  
  13.     // cleanup  
  14.     [phoneCallWebView release], phoneCallWebView = nil;  
  15.    [super dealloc];  
  16. }  
 

 

第二种是私有方法,不能上App Store的。

  1. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10086"]];  
 

看到了吗,其实就是改tel为telprompt.

这样,当电话结束手就可以返回到自己的应用程序。是不是很爽呢?