你的位置:首页 > 操作系统

[操作系统]打电话、发短信、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   //方式1119 //  NSString *str = [NSString stringWithFormat:@"mailto://%@",self.emailTextField.text];120 //  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];121   122   //方式2123   //判断是否能发送邮件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以及发邮件




山西旅游线路报价山西旅游攻略大全山西旅游路线推荐山西自驾游攻略山西旅游线路大全清远飞霞山住宿方便吗?飞霞山住宿多少钱? 清远飞霞山风景区开车路线?飞霞山开车需要多长时间? 清远飞霞山乘车方便吗?飞霞山坐车要多久? 外国人最爱的10大中国菜 糖醋里脊排第一(全文) 去日本旅游需要多少钱? 蓝田瑶族风情园门票预定?龙门蓝田瑶族风情园定票? 惠州蓝田瑶族风情园怎么样?蓝田瑶族风情园有什么好玩的? 蓝田瑶族风情园门票包含什么?龙门蓝田瑶族风情园有表演吗? 金三角漂流需要带什么?天堂寨金三角漂流需要带雨衣吗? 柞水峡谷第一漂流附近有什么好玩的地方?柞水旅游景点有哪些? 柞水峡谷第一漂停车收费吗?柞水峡谷第一漂流有停车场吗? 柞水峡谷第一漂流好不好?商洛柞水峡谷第一漂流有什么好玩的? 2015春节是几月几号?2015年春节怎么放假? 三亚机场怎么去大亚湾? 丽江有什么好玩的娱乐活动吗? 春节去昆明、丽江怎么样? 555-5401F Datasheet 555-5401F Datasheet 555-5403F Datasheet 555-5403F Datasheet 554-0001 Datasheet 554-0001 Datasheet 吉林市去香港旅游 吉林市去香港旅游 吉林市去香港旅游 齐齐哈尔去香港澳门旅游 齐齐哈尔去香港澳门旅游 齐齐哈尔去香港澳门旅游 黑龙江参团去港澳 黑龙江参团去港澳 黑龙江参团去港澳