打电话、发短信、web以及发邮件

  1 #import "ViewController.h"
  2 #import <MessageUI/MessageUI.h>   //导入信息UI库
  3
  4 @interface ViewController () <MFMessageComposeViewControllerDelegate,MFMailComposeViewControllerDelegate>
  5
  6 @end
  7
  8 @implementation ViewController
  9
 10 - (void)viewDidLoad {
 11     [super viewDidLoad];
 12     // Do any additional setup after loading the view, typically from a nib.
 13 }
 14
 15 - (void)didReceiveMemoryWarning {
 16     [super didReceiveMemoryWarning];
 17     // Dispose of any resources that can be recreated.
 18 }
 19
 20 - (IBAction)callPhone:(id)sender {
 21     //方式1 :拼接字符串 注意开头是tel: 这种方式打电话回不到原来应用中,会停留在通讯录里,而且是直接拨打电话 没有任何弹窗提示
 22 //    NSString *str = [NSString stringWithFormat:@"tel:%@",self.phoneTextField.text];
 23 //    //首先得到应用的单例对象 然后调用openURL:这个方法 参数是url对象
 24 //    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
 25
 26
 27     //方式2,这种方式有弹窗提示,并且能回到原来应用中 推荐这种
 28 //    NSString *str1 = [[NSString alloc] initWithFormat:@"tel:%@",self.phoneTextField.text];
 29 //    //创建UIWebView对象
 30 //    UIWebView *callWebView = [[UIWebView alloc] init];
 31 //    //加载一个请求对象 这个请求对象通过url对象创建  url对象又通过str1字符串获得
 32 //    [callWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str1]]];
 33 //    //加入到self.view上
 34 //    [self.view addSubview:callWebView];
 35
 36
 37     //方式3
 38     //这种方式 也可以有弹窗提示 并且也能回到原来的应用中  也推荐这种
 39     NSString *str2 = [NSString stringWithFormat:@"telprompt:%@",self.phoneTextField.text];
 40     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str2]];
 41
 42 }
 43
 44 - (IBAction)callWeb:(id)sender {
 45
 46     //打开网址 注意:打开的网址注意是http:// 或是https://
 47     NSString *str = [NSString stringWithFormat:@"https://%@",self.webTextField.text];
 48     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
 49
 50
 51 }
 52 - (IBAction)sendSMS:(id)sender {
 53
 54     //方式1:这种方式没法回到应用中,但是注意不要写中文等特殊字符 否则无法跳到发短信界面
 55     //优点:简单 缺点:不能指定发送内容,只能指定发送人,而且不能回到应用中
 56 //    NSString *str = [NSString stringWithFormat:@"sms://%@",self.smsTextField.text];
 57 //    NSURL *url = [NSURL URLWithString:str];
 58 //    [[UIApplication sharedApplication] openURL:url];
 59
 60
 61     //方式2 推荐这种
 62     /*
 63      优点:1.从应用出来并且能回到应用中
 64           2.可以发送多人
 65           3.可以用代码自定义消息
 66           4.如果手机开通了iMessage功能,会走网络通道,不走运营商通道
 67      */
 68
 69     //判断用户设备是否能发送短信
 70     if (![MFMessageComposeViewController canSendText]) {
 71         NSLog(@"不能发送内容");
 72
 73         return ;
 74     }
 75
 76     //1.创建一个短信控制器对象
 77     MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
 78
 79     //2.设置短信内容
 80     //  (1)收件人
 81     controller.recipients = @[@"10086",@"10010"];
 82     //  (2)短信内容
 83     controller.body = @"你好啊 你俩";
 84     //  (3)设置短信代理
 85     controller.messageComposeDelegate = self;
 86
 87     //3.显示短信控制器
 88
 89     [self presentViewController:controller animated:YES completion:^{
 90         NSLog(@"显示短信控制器完成代码块");
 91     }];
 92
 93
 94 }
 95
 96 #pragma mark - 短信控制器代理方法
 97
 98 - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
 99
100     /*
101      MessageComposeResultCancelled, 取消
102      MessageComposeResultSent,      发送
103      MessageComposeResultFailed     失败
104
105      result枚举
106      */
107     NSLog(@"%d",result);
108
109     //注:别忘了回到应用中
110     [controller dismissViewControllerAnimated:YES completion:^{
111         NSLog(@"短信控制器消失完成后代码块");
112     }];
113
114 }
115
116 - (IBAction)sendEmail:(id)sender {
117
118     //方式1
119 //    NSString *str = [NSString stringWithFormat:@"mailto://%@",self.emailTextField.text];
120 //    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
121
122     //方式2
123     //判断是否能发送邮件
124     if (![MFMailComposeViewController canSendMail]) {
125         NSLog(@"不能发送邮件");
126         return;
127     }
128     //创建mail控制器对象
129     MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];
130     //设置邮件主题
131     [vc setSubject:@"我爱你"];
132     //设置邮件发送内容 第二个参数支持HTML格式
133     [vc setMessageBody:@"基本的电话、邮件、短信" isHTML:YES];
134     //设置收件人列表
135     [vc setToRecipients:@[@"*******@qq.com"]];
136     //设置抄送人列表
137     [vc setCcRecipients:@[@"********@qq.com",@"********@163.com"]];
138     //设置邮件代理
139     vc.mailComposeDelegate = self;
140     //显示邮件控制器
141     [self presentViewController:vc animated:YES completion:^{
142         NSLog(@"跳转完成后执行代码块");
143     }];
144
145
146 }
147
148 - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
149
150     /*
151      result枚举类型
152      MFMailComposeResultCancelled,  取消
153      MFMailComposeResultSaved,      保存
154      MFMailComposeResultSent,       发送
155      MFMailComposeResultFailed      失败
156      */
157     NSLog(@"%d",result);
158
159     [controller dismissViewControllerAnimated:YES completion:^{
160         NSLog(@"邮箱控制器消失完成后代码块");
161     }];
162
163 }
164 @end
时间: 05-02

打电话、发短信、web以及发邮件的相关文章

iOS中打电话、打开网址、发邮件、发短信等

常用小功能 小功能简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话-方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedApplication] openURL:url]; 缺点 电话打完后,不会自动回到原应用,直接停留在通话记录界面 打电话-方法2 拨号之前会弹框询问用户是否拨号,拨完后能

3-IOS-小功能(打电话、发短信、发邮件)

iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 一.打电话 1>最简单最直接的方式:直接跳到拨号界面NSURL *url = [NSURL URLWithString:@"tel://10010"];[[UIApplication sharedApplication] openURL:url];缺点:电话打完后,不会自动回到原应用,直接停留在通话记录界面 2>拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用NSURL *u

调用系统的打电话,发短信,邮件,蓝牙

在开发某些应用时可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,此时你可以直接使用UIApplication的OpenURL:方法指定特定的协议来打开不同的系统应用.常用的协议如下: 打电话:tel:或者tel://.telprompt:或telprompt://(拨打电话前有提示) 发短信:sms:或者sms:// 发送邮件:mailto:或者mailto:// 启动浏览器:http:或者http:// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

ios 设置亮度、声音;调用发短信、邮件、打电话

一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需要的文件中导入头文件,#import <MediaPlayer/MediaPlayer.h> 3,[[MPMusicPlayerController applicationMusicPlayer] setVolume: 0.5];//0.0~1.0 三,调用发短信.邮件.打电话 1.调用 自带ma

打电话,发短信,发邮件,app跳转

1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739"]; [[UIApplication sharedApplication] openURL:url]; } - (IBAction)callPhone2:(id)sender { NSURL *url = [NSURL URLWithString:@"telprompt://185004

【学习ios之路:UI系列】实现打电话,发短信,发邮件功能

①发短信 1.创建Button ,添加button的响应事件 UIButton *callButton = [UIButton buttonWithType:UIButtonTypeCustom]; callButton.frame = CGRectMake(80, 150, 80, 80); callButton.backgroundColor = [UIColor cyanColor]; [callButton setTitle:@"短信" forState:UIControlSt

如何实现打电话,发短信,发邮件,打开网页功能

我们在做APP的时候,难免会遇到需要调用短信,电话等程序的时候.如美团. 当然,这些都只是一些简单的方法就可以实现,但是时间久了也会淡忘,所以想写这边博客.一是为了再捡起来复习一下,另一个相当于留个备份,以后忘了,自己也可以捡起来看看. 首先,说说如何调用浏览器打开网页. 当然这个就很简单了,只需要短短两句话就可以实现 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; // [[UIApplication share

html页面通过特殊链接:打电话,发短信,发邮件详细教程

采用url href链接的方式,实现在Safari  ios,Android 浏览器,webos浏览器,塞班浏览器,IE,Operamini等主流浏览器,进行拨打电话功能. 1. 拨打电话 在电话号码前面可以加上 + (加号)表示国际号码.如: 最常用WEB页面JS实现一键拨号的电话拨打功能 例子: <a href="tel:10086">10086</a> 使用wtai协议进行拨打电话 <a href="wtai://wp/mc;10086&q

iOS打电话,发短信,发邮件,打开网址

//调用自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; //调用电话 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]]; //调用sms [[UIApplication sharedApp