1、打电话
应用内调用系统打电话有两种方式:
1)WebView方式
使用WebView来跳转,把电话号码通过URL传递给WebView,这种方式会弹出是否要拨打的提示,可以选择拨打或者不拨打,打完也会自动回到应用界面,推荐。
- UIWebView *callWebview =[[UIWebView alloc] init];
- NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",self.phoneNumber.text]];
- [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
- [self.view addSubview:callWebview];
在 URL中加入“tel:”开头 ,后接电话号码,系统就会识别为调用拨号器了。
2)UIApplication方式
使用UIApplication来跳转,同样传递和上一种方式同样的URL,这种方式不会弹出提示问你确认拨打与否,而是直接拨打,打完也会停在通讯录那,不会回到应用,不推荐。
- NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",self.phoneNumber.text]];
- [[UIApplication sharedApplication] openURL:telURL];
2、发短信
应用内调用系统发短信也有两种方式,与打电话是一样的,唯一的不同是URL中要以“sms:”开头,这样就可以告诉系统要调用的是发短信功能:
1)WebView方式
使用WebView来跳转,把电话号码通过URL传递给WebView,这种方式会跳到短信界面发送,推荐。
- UIWebView *smsWebview =[[UIWebView alloc] init];
- NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"sms:%@",self.phoneNumber.text]];
- [smsWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
- [self.view addSubview:smsWebview];
2)UIApplication方式
使用UIApplication来跳转,这种方式会在后台直接发送,不推荐。
- NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"sms:%@",self.phoneNumber.text]];
- [[UIApplication sharedApplication] openURL:telURL];
3、发邮件
发邮件还是一样使用WebView的方式,与打电话、发短信都是一样的,要改的也是URL中要以“mailto:”开头,后接邮箱地址:
- UIWebView *emailWebview =[[UIWebView alloc] init];
- NSURL *emailURL =[NSURL URLWithString:[NSString stringWithFormat:@"mailto:%@",self.email.text]];
- [emailWebview loadRequest:[NSURLRequest requestWithURL:emailURL]];
- [self.view addSubview:emailWebview];