打电话,发短信,发邮件,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://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 {
/* 必须要导入<MessageUI/MessageUI.h> */
MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
/* 消息内容 */
vc.body = @"吃饭了没?";
/* 收到消息的人列表 */
vc.recipients = @[@"",@""];
/* 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",@""]];
/* 抄送人列表 */
[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];
}
打电话,发短信,发邮件,app跳转的更多相关文章
- ios 设置亮度、声音;调用发短信、邮件、打电话
一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需 ...
- Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)
结果: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->opti ...
- iOS 打电话、发短信、邮件、打开网址、调用应用等合集
iOS中的很多功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等,这里总结几个比较常用的: 1.打电话 方式一:最简单最直接的方式:直接跳到拨号界面 NSURL *url = ...
- h5打电话发短信写邮件怎么实现
// 一.打电话<a href="tel:0755-10086">打电话给:0755-10086</a> // 二.发短信,winphone系统无效< ...
- a链接 打电话 发短信 发email
<a href="tel:10086">给10086打电话</a><a href="sms:10086">给10086发短信 ...
- iOS开发——发短信,邮件
在IOS开发中,有时候我们会需要用到邮件发送的功能.比如,接收用户反馈和程序崩溃通知等等,这个功能是很常用的.在苹果系统中,如果彼此的手机都是iOS设备,并且开通了iMessage功能,那么彼此之间的 ...
- iOS中打电话、打开网址、发邮件、发短信等
常用小功能 小功能简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话-方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [ ...
- iOS 打电话、发短信、发邮件功能
打电话 方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplicat ...
- iOS中多种方式实现打电话、发短信、写邮件
一.打电话 打电话--方法1 NSURL *URL = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedAp ...
随机推荐
- Ubuntu如何选择更新源
刚装上Ubuntu, 决定先更新一下源. 虽然网上搜索提供了很多更新源,结果替换上实际使用的时候,却发现总是有404无法连接的情况. 后来查查资料,发现Ubuntu自己就提供了很多的源管理. 具体更新 ...
- MySQL如何导出带日期格式的文件
一网友问在MySQL中如何只用SQL语句导出带日期格式的文件.觉得有点意思,于是尝试了一下.导出文件使用SELECT INTO OUTFILE 但是OUTFILE后面的值不能使用变量,所以只能使用动态 ...
- dragsort html拖拽排序
一.Jquery List DragSort 对于有些页面,如首页的定制,需要进行动态的拖拽排序.由于自己实现比较困难,我们一般会使用一些js插件来实现.dragsort 就是帮助我们完成这一需求.通 ...
- java实现excel模板导出
一. 准备工作 1. 点击此下载相关开发工具 2. 将poi-3.8.jxls-core-1.0两个jar包放到工程中,并引用 3. 将excel模板runRecord.xls放到RunRecordB ...
- 项目开发之UML之初识
- STM32 KEIL不能输入仿真引脚端口error 65: access violation at 0x40021000 : no 'read' permission
使用MDK自己创建一个STM32F103ZE核的项目 加入源码后编译,正常,在线仿真单步执行出现如下问题 error 65: access violation at 0x40021000 : no ' ...
- 【转】【51CTO 网+】怎样做一款让用户来电的产品
[51CTO 网+]怎样做一款让用户来电的产品 据相关调查显示,目前全球移动用户平均每人安装应用约95个,每天使用的应用约35个.可见面对众多的移动应用,用户拥有非常大的选择空间.如果由于交互设计欠佳 ...
- 【转】App架构设计经验谈:接口的设计
App架构设计经验谈:接口的设计 App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉. 安全机制的设计 现在,大部分App的接口都采用REST ...
- Mysql 主从热备份
工作原理 首先锁定并备份主服务器数据库,从服务器导入备份的数据库,实现两个数据库的初态一样.然后把主服务器上执行过的sql语句都记录到二进制日志 Binarylog 中,从服务器会来读取这个log, ...
- 【小白的CFD之旅】10 敲门实例
按黄师姐的说法,做好第一个案例很重要.第一个案例既可以帮助理解CFD的工作流程,还可以帮助熟悉软件的操作界面. 黄师姐推荐的入门案例来自于ANSYS官方提供的培训教程,是一个关于交叉管内流动混合的案例 ...