码迷,mamicode.com
首页 > 移动开发 > 详细

APP内部调用短信 、电话、邮件

时间:2015-06-19 15:00:57      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

                                                      APP内部调用短信、电话、邮件

在APP开发中,很多时候需要在APP内部实现短信验证、分享,以及切换电话拨打等功能,这也就会调用到系统相对应得功能体系;

在iOS开发中一般会出现两种模式:

1)在APP中实现短信发送 和 电话拨打功能,完成后会停留在短信 和 电话界面

2)在APP中实现短信发送 和 电话拨打,完成后可以跳转到原来的APP界面,进行下一步操作。

一 、发短信

1)直接拨号,拨号完成后会停留在通话记录中

方法:

NSURL  *url  =  [NSURL  URLWithString:@"sms://10010"]; 
[[UIApplication  sharedApplication]  openURL:url];

优点 : 简单

缺点 : 不能指定短信内容,而且不能跳转回原APP界面

 

2)使用MFMessageComposeViewController ---------(需导入MessageUI框架 )

方法:(需遵循短信代理----------MFMessageComposeViewControllerDelegate

 

            //邀请手机联系人
            //判断设备能否发送短信
            if (![MFMessageComposeViewController canSendText]) {
                return;
            }
            // 初始化短信控制器
           MFMessageComposeViewController *messageVC = [[MFMessageComposeViewController alloc]init];

            // 设置委托对象
            messageVC.messageComposeDelegate = self;

            NSString *text = [NSString stringWithFormat:@"[%@]邀请你注册IBOS · 酷办公加入“%@”,点击加入http://www.ibos.cn/?corp=%@", 
                              getMyInfo().realname, getMyInfo().corpname, getMyInfo().corpcode];
            //短信内容
            messageVC.body = text;// (注:如果短信中包含后网址,能自动识别,仍可以发送短信,收件人可以点击触发链接,实现跳转)
 
            //设置收件人(可以不设置,短信界面能跳转到系统通讯录,自行选择人选)
            controller.recipients  =   [@"10010",  @"10086"];

            //显示短信控制器
            [self presentViewController:messageVC animated:YES completion:nil];

 

 短信发送完成后 ,调用代理方法关闭短信界面

:

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
    switch (result) {
        case MessageComposeResultCancelled://取消
        {
            break;
        }

        case MessageComposeResultSent://发送
        {
            break;
        }

        case MessageComposeResultFailed://失败
        {
            UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"提示" message:@"发送短信错误,请重发!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
            [alertV show];
            break;
        }

        default:
            break;
    }
       // 关闭短信界面
    [controller dismissViewControllerAnimated:YES completion:nil];
}

 

二 、打电话

 

 

APP内部调用短信 、电话、邮件

标签:

原文地址:http://www.cnblogs.com/AllenLAS/p/4588404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!