iOS应用调用系统打电话、发短信和发邮件功能

摘要:

在应用程序内,调用系统的功能来实现打电话、发短信和发邮件,通过电话号码或者邮箱,直接跳转到系统的功能界面。


PS:调试好像只能真机调试,模拟器没有反应,真机就可以跳转,不知道是不是必须真机,但方法肯定是可行的。


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];

这样会跳转到系统自带的邮箱应用去。


在使用这些功能时,应该注意正则表达式检测手机号码、邮箱的格式等。

在这里可以下载我的示例工程:https://github.com/Cloudox/TelTest


转载请注明出处,谢谢


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值