码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-05-04 09:05:00      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

  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

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

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

标签:

原文地址:http://www.cnblogs.com/ljcgood66/p/5457136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!