您的位置:首页 > 移动开发 > IOS开发

iOS 调用系统短信、邮件发送界面

2014-01-13 16:27 561 查看
iOS调用系统发送短信、邮件有两种方法:一种是直接跳到系统的发送功能界面,完成后不能返回到当前界面;第二种是弹出发送界面,完了之后还在停留在当前界面。

方法一:调用系统的接口,如打电话、发短信、邮件、浏览器等,以下这些通常在传递的参数前要加前缀,@"tel://",@"sms://",@"mailto://",@"http://"

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://123456"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://123456"]];

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"mailto://12306@sina.com"]];

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"http://www.hao123.com"]]

方法二:是通过调用弹出系统的发送界面,一般通过模态对象实现。

发送短信示例:

-(void)showMessageView : (NSString *)phone title : (NSString *)title body : (NSString *)body

{

if( [MFMessageComposeViewController canSendText] )

{

MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc] init];

controller.recipients = [NSArray arrayWithObject:phone];

controller.body = body;

controller.messageComposeDelegate = self;

[self presentModalViewController:controller animated:YES];

[[[[controller viewControllers] lastObject] navigationItem] setTitle:title];//修改短信界面标题

}

else

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示信息"

message:@"该设备不支持短信功能"

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil, nil];

[alert show];

}

}

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result

{

[self dismissModalViewControllerAnimated:YES];

switch (result) {

case MessageComposeResultCancelled:

{

//click cancel button

}

break;

case MessageComposeResultFailed:// send failed

break;

case MessageComposeResultSent:

{

//do something

}

break;

default:

break;

}

}

发送邮件示则使用 MFMailComposeViewController,具体的google下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐