大家想不想在自己的应用中拨打电话呀?打电话可以用openURL:这个API, 如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];但是当电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?这儿有两种方法与大家分享。
第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。
代码如下:
//assumingyouhaveanivartostoreaweakreferencetoaUIWebView: //UIWebView*phoneCallWebView; -(void)dialPhoneNumber:(NSString*)aPhoneNumber { NSURL*phoneURL=[NSURLURLWithString:[NSStringstringWithFormat:@"tel:%@",aPhoneNumber]]; if(!phoneCallWebView){ phoneCallWebView=[[UIWebViewalloc]initWithFrame:CGRectZero]; } [phoneCallWebViewloadRequest:[NSURLRequestrequestWithURL:phoneURL]]; } -(void)dealloc { //cleanup [phoneCallWebViewrelease],phoneCallWebView=nil; [superdealloc]; }
第二种是私有方法,不能上App Store的。
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"telprompt://10086"]];