打电话、发短信、发邮件

来源:互联网 发布:mac打不开rar 编辑:程序博客网 时间:2024/04/26 06:44

导入头文件  #import <MessageUI/MessageUI.h>

遵守协议   MFMessageComposeViewControllerDelegate,MFMailComposeViewControllerDelegate


//打电话

-(void)telBtnDown{

    //第一种打电话,挂断后会停留在系统电话里

   NSString *telUrl = [NSStringstringWithFormat:@"tel://%@",@"10086"];

    [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:telUrl]];

    

    //第二种打电话,挂断后会返回到我们的应用

    NSURL *phoneUrl = [NSURLURLWithString:[NSStringstringWithFormat:@"tel:%@",@"10086"]];

   UIWebView *phoneCallWebView = [[UIWebViewalloc] initWithFrame:CGRectZero];

    [phoneCallWebViewloadRequest:[NSURLRequestrequestWithURL:phoneUrl]];

    [self.viewaddSubview:phoneCallWebView];

    

}


//发短信

-(void)messageBtnDown{

    //第一种发短信,发完后会停留在系统短信页面

    [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:[NSStringstringWithFormat:@"sms://10086"]]];

    //第二种,发完后会回到我们的应用

    MFMessageComposeViewController *messViewController = [[MFMessageComposeViewControlleralloc] init];

    if ([MFMessageComposeViewControllercanSendText]) {

        messViewController.body =@"hello";//短信内容

        messViewController.recipients =@[@"10086",@"10010"];//接短信对象,返回值为数组

        messViewController.messageComposeDelegate =self;

        [selfpresentViewController:messViewController animated:YEScompletion:nil];

        

    }

}


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

    [selfdismissViewControllerAnimated:YEScompletion:nil];

    if (result ==MessageComposeResultCancelled) {

        NSLog(@"Message cacelled");

    }elseif (result ==MessageComposeResultSent){

        NSLog(@"Mesaage success");

    }else{

        NSLog(@"Message failed");

    }

}


//发邮件

-(void)mailBtnDown{

    //第一种 发完后会留在系统邮件界面

    NSString *recipients =@"mailto:first@example.com"//设置接收者

    NSString *body =@"&body=email body";//邮件内容

   NSString *mail = [NSStringstringWithFormat:@"%@%@",recipients,body];

    mail = [mail stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:mail]];

    

    //第二种发完后会回到自己的应用

    MFMailComposeViewController *mailViewController = [[MFMailComposeViewControlleralloc] init];

    mailViewController.mailComposeDelegate =self;

    [mailViewControllersetSubject:@"email主题"];

    NSArray *recipientsArr = [NSArrayarrayWithObjects:@"first@example.com",@"second@example.com",nil];

    [mailViewControllersetToRecipients:recipientsArr];

   UIImage *addPic = [UIImageimageNamed:@"10_10.jpg"];

   NSData *imageData = UIImageJPEGRepresentation(addPic, 1.0);

    [mailViewControlleraddAttachmentData:imageData mimeType:@"" fileName:@"10_10.jpg"];//添加图片

   NSString *emailBody = @"emial 正文";

    [mailViewControllersetMessageBody:emailBody isHTML:YES];

    [selfpresentViewController:mailViewController animated:YEScompletion:nil];

    

}


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

   NSString *mess;

   switch (result) {

        caseMFMailComposeResultCancelled:

            mess =@"邮件发送取消";

           break;

        caseMFMailComposeResultFailed:

            mess =@"邮件发送失败";

           break;

        caseMFMailComposeResultSaved:

            mess =@"邮件保存成功";

           break;

        caseMFMailComposeResultSent:

            mess =@"邮件发送成功";

           break;

       default:

           break;

    }

    [selfdismissViewControllerAnimated:YEScompletion:nil];

}


0 0
原创粉丝点击