热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

1.打电话-(IBAction)callPhone1:(id)sender{NSURL*url[NSURLURLWithString:@tel:18500441739];

1.打电话

- (IBAction)callPhone1:(id)sender {
NSURL
*url = [NSURL URLWithString:@"tel://18500441739"];
[[UIApplication sharedApplication] openURL:url];
}
- (IBAction)callPhone2:(id)sender {
NSURL
*url = [NSURL URLWithString:@"telprompt://18500441739"];
[[UIApplication sharedApplication] openURL:url]; }
- (IBAction)callPhone3:(id)sender {
if (_webView == nil) {
_webView
= [[UIWebView alloc] initWithFrame:CGRectZero];
}
[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:
@"tel://18500441739"]]];
}

  推荐使用第三种,第一个为私有API,第二个无法回到原来app

2.发短信

- (IBAction)sendMsg:(id)sender {
NSURL
*url = [NSURL URLWithString:@"sms://18500441739"];
[[UIApplication sharedApplication] openURL:url];
}
- (IBAction)sendWithMsg:(id)sender {
/* 必须要导入 */
MFMessageComposeViewController
*vc = [[MFMessageComposeViewController alloc] init];
/* 消息内容 */
vc.body
= @"吃饭了没?";
/* 收到消息的人列表 */
vc.recipients
= @[@"18500441739",@"15342777049"];
/* MFMessageComposeViewControllerDelegate */
vc.messageComposeDelegate
= self;
[self presentViewController:vc animated:YES completion:nil];
}

   建议使用第二种,第二个可以预编辑文字和发送列表发送完了以后会有代理方法调用

#pragma mark - MFMessageComposeViewControllerDelegate
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MessageComposeResultCancelled) {
NSLog(
@"取消发送");
}
else if (result == MessageComposeResultFailed){
NSLog(
@"发送失败");
}
else if(result == MessageComposeResultSent){
NSLog(
@"发送成功");
}
else{
NSLog(
@"未知情况");
}
}

3.发送邮件

- (IBAction)sendEmail:(id)sender {
NSURL
*url = [NSURL URLWithString:@"mailto://aaaa61134@qq.com"];
[[UIApplication sharedApplication] openURL:url];
}
- (IBAction)sendEmailWithMsg:(id)sender {
NSLog(
@"%@",[self class]);

if (![MFMailComposeViewController canSendMail]) {
NSLog(
@"yes");
return;
}
MFMailComposeViewController
*vc = [[MFMailComposeViewController alloc] init];
/* 收件人列表 */
[vc setToRecipients:@[
@"2542461134@qq.com",@"22422061134"]];
/* 抄送人列表 */
[vc setCcRecipients:@[
@"12763456@qq.com"]];
/* 密送人列表 */
[vc setBccRecipients:@[
@"233r@qq.com",@"2525234@163.com"]];
/* 设置代理 MFMailComposeViewControllerDelegate*/
[vc setMailComposeDelegate:self];
/* 发送主题 */
[vc setSubject:
@"会议"];
/* 发送内容,是否为HTML文档 */
[vc setMessageBody:
@"测试发邮件功能" isHTML:NO];

/* 添加附件 */
UIImage
*image = [UIImage imageNamed:@"IMG_0993"];
NSData
*data = UIImagePNGRepresentation(image);
[vc addAttachmentData:data mimeType:
@"image/png" fileName:@"首页.png"];

/* 跳转页面 */
[self presentViewController:vc animated:YES completion:nil];

}

 推荐 第二种方法,第二种方法也有代理方法的调用

#pragma mark - MFMailComposeViewControllerDelegate
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MFMailComposeResultCancelled) {
NSLog(
@"取消发送");
}
else if (result == MFMailComposeResultSent){
NSLog(
@"发送成功");
}
else if (result == MFMailComposeResultSaved){
NSLog(
@"保存邮件");
}
else if (result == MFMailComposeResultFailed){
NSLog(
@"发送失败");
}
else{
NSLog(
@"发送异常");
}
}

4.跳转其他app

  a.跳转浏览器

/*  跳入浏览器  */
- (IBAction)intoBorwer:(UIButton *)sender {
/*
如果想打开一些常见文件,比如html、txt、PDF、PPT等,都可以使用UIWebView打开
只需要告诉UIWebView文件的URL即可

至于打开一个远程的共享资源,比如http协议的,也可以调用系统自带的Safari浏览器
*/
NSLog(
@"%@",sender.titleLabel.text);
NSString
*urlStr = [NSString stringWithFormat:@"http://%@",sender.titleLabel.text];
NSURL
*url = [NSURL URLWithString:urlStr];
[[UIApplication sharedApplication] openURL:url];
}

  b.跳转到其他app

/*  跳入到其他的程序  */
- (IBAction)intoOtherApp:(id)sender {
/* 在要跳入的app中设置 URL Types
1.打开原文件
2.选择Info.Plist文件
3.添加URL types
4.点开URL types 将URL identifier的值设为 ios.defaults.com
5.在URL types中添加URL Schemes,并将其值设为 who
6.访问的url为 who://ios.defaults.com
*/
NSURL
*url = [NSURL URLWithString:@"yds://ios.hgl.org"];
[[UIApplication sharedApplication] openURL:url];
}

 


推荐阅读
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • php设置数组大小_【大厂必备】2020超经典PHP面试题
    结合我自己这段时间的面试情况,面对的一些php面试题列举出来,基本上结合自己的看法回答的,不妥的地方请大家指出去,与大家一起 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
author-avatar
80后女孩香香521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有