打电话、发邮件、发短信功能

本文详细介绍了如何在iOS和Android设备上实现打电话、发送邮件和发短信的功能,并提供了具体的代码实现步骤。从UIWebView加载电话号码、使用私有方法打开URL到实现邮件发送和短信发送,每一步都配有实例代码,方便开发者理解和实践。

打电话功能:

第一种是用UIWebView加载电话,这种会返回到应用程序中,是应用程序中最常用的

代码如下:

UIWebView*call =[[UIWebView alloc] init];  

NSURL *telURL =[NSURL URLWithString:@"电话号"];  

[call loadRequest:[NSURLRequest requestWithURL:telURL]]; 

[self.view addSubview:call];



第二种是私有方法 ,

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"电话号"]]; 



发邮件实现步骤:

第一步:加入头文件

#import <MessageUI/MessageUI.h>

第二步:遵守协议

<MFMailComposeViewControllerDelegate>

第三步 :实现发送邮件按钮的方法和代理方法

#pragma mark ----发送邮件


//邮件发送方法:

-(void)displayComposerSheet

{

    MFMailComposeViewController *picker = [[MFMailComposeViewControlleralloc] init];

    picker.mailComposeDelegate =self;

    //设置主题

    [picker setSubject:@"用户反馈"];

    

    //设置收件人

    NSArray *receive = [NSArrayarrayWithObjects:@"850944523@qq.com",

                             nil];

    

    NSArray *ccRecipients = [NSArrayarrayWithObjects:@"1342236145@qq.com",nil];

    NSArray *bccRecipients = [NSArrayarrayWithObjects:@"1342236145@qq.com",

                              nil];

    

    [picker setToRecipients:receive];

    [picker setCcRecipients:ccRecipients];

    [picker setBccRecipients:bccRecipients];

    


   // 设置邮件发送内容

    NSString *emailBody =@"请反馈你宝贵的意见,让我们继续改进";

    [picker setMessageBody:emailBodyisHTML:NO];

    

   //邮件发送的模态窗口

    [selfpresentViewController:picker animated:YEScompletion:nil];

}


//邮件发送完成调用的方法:

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error

{

    switch (result)

    {

        caseMFMailComposeResultCancelled: //取消

            NSLog(@"MFMailComposeResultCancelled-取消");

            break;

        caseMFMailComposeResultSaved: //保存

            NSLog(@"MFMailComposeResultSaved-保存邮件");

            break;

        caseMFMailComposeResultSent: //发送

            NSLog(@"MFMailComposeResultSent-发送邮件");

            break;

        caseMFMailComposeResultFailed: //尝试保存或发送邮件失败

            NSLog(@"MFMailComposeResultFailed: %@...",[errorlocalizedDescription]);

            break;

    }

    

   // 关闭邮件发送视图

    [selfdismissViewControllerAnimated:YEScompletion:nil];

}



发短信功能

Frameworks中要引入MessageUI.framework 

#import <MessageUI/MessageUI.h>
添加协议:
<MFMessageComposeViewControllerDelegate>



调用MFMessageComposeViewController,同时实现协议MFMessageComposeViewControllerDelegate。

[cpp]  view plain  copy
 print ?
  1. - (void)showMessageView  
  2. {  
  3.       
  4.     if( [MFMessageComposeViewController canSendText] ){  
  5.           
  6.         MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc]init]; //autorelease];  
  7.           
  8.         controller.recipients = [NSArray arrayWithObject:@"10010"];       
  9.         controller.body = @"测试发短信";          
  10.         controller.messageComposeDelegate = self; 
  11.         [self presentModalViewController:controller animated:YES];  
  12.           
  13.         [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"测试短信"];//修改短信界面标题  
  14.     }else{  
  15.           
  16.         [self alertWithTitle:@"提示信息" msg:@"设备没有短信功能"];          
  17.     }      
  18. }  
  19.   
  20.   
  21. //MFMessageComposeViewControllerDelegate  
  22.   
  23. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{  
  24.       
  25.     [controller dismissModalViewControllerAnimated:NO];//关键的一句   不能为YES  
  26.       
  27.     switch ( result ) {  
  28.               
  29.         case MessageComposeResultCancelled:  
  30.   
  31.             [self alertWithTitle:@"提示信息" msg:@"发送取消"];   
  32.             break;  
  33.         case MessageComposeResultFailed:// send failed  
  34.             [self alertWithTitle:@"提示信息" msg:@"发送成功"];   
  35.             break;  
  36.         case MessageComposeResultSent:  
  37.             [self alertWithTitle:@"提示信息" msg:@"发送失败"];   
  38.             break;  
  39.         default:  
  40.             break;   
  41.     }  
  42. }  
  43.   
  44.   
  45. - (void) alertWithTitle:(NSString *)title msg:(NSString *)msg {  
  46.   
  47.       
  48.     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title  
  49.            message:msg  
  50.            delegate:self  
  51.            cancelButtonTitle:nil  
  52.            otherButtonTitles:@"确定", nil];  
  53.                            
  54.    [alert show];  
  55.                    
  56. }              




无界云图(开源在线图片编辑器源码)是由四川爱趣五科技推出的一款类似可画、创客贴、图怪兽的在线图片编辑器。该项目采用了React Hooks、Typescript、Vite、Leaferjs等主流技术进行开发,旨在提供一个开箱即用的图片编辑解决方案。项目采用 MIT 协议,可免费商用。 无界云图提供了一系列强大的图片编辑功能,包括但不限于: 素材管理:支持用户上传、删除和批量管理素材。 操作便捷:提供右键菜单,支持撤销、重做、导出图层、删除、复制、剪切、锁定、上移一层、下移一层、置顶、置底等操作。 保存机制:支持定时保存,确保用户的工作不会丢失。 主题切换:提供黑白主题切换功能,满足不同用户的视觉偏好。 多语言支持:支持多种语言,方便全球用户使用。 快捷键操作:支持快捷键操作,提高工作效率。 产品特色 开箱即用:无界云图采用了先进的前端技术,用户无需进行复杂的配置即可直接使用。 免费商用:项目采用MIT协议,用户可以免费使用和商用,降低了使用成本。 技术文档齐全:提供了详细的技术文档,包括技术文档、插件开发文档和SDK使用文档,方便开发者进行二次开发和集成。 社区支持:提供了微信技术交流群,用户可以在群里进行技术交流和问题讨论。 环境要求 Node.js:需要安装Node.js环境,用于运行和打包项目。 Yarn:建议使用Yarn作为包管理工具,用于安装项目依赖。 安装使用 // 安装依赖 yarn install // 启动项目 yarn dev // 打包项目 yarn build 总结 无界云图是一款功能强大且易于使用的开源在线图片编辑器。它不仅提供了丰富的图片编辑功能,还支持免费商用,极大地降低了用户的使用成本。同时,详细的文档和活跃的社区支持也为开发者提供了便利的二次开发和集成条件。无论是个人用户还是企业用户,都可以通过无界云图轻
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值