zoukankan      html  css  js  c++  java
  • iOS开发之--调用打电话,发邮件,发短信的系统功能的代码

    1、调用 自带mail

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];

    2、调用 电话phone

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]];
    NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"tel:%@",self.experienceDetailModel.phone];
    UIWebView *callWebview = [[UIWebView alloc] init];
    [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
    [self.view addSubview:callWebview];

    3、调用 SMS

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

    4、调用自带 浏览器 safari

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

    发送短信

    调用phone可以传递号码,调用SMS 只能设定号码,不能初始化SMS内容。

    若需要传递内容可以做如下操作:

    加入:MessageUI.framework

    #import <MessageUI/MFMessageComposeViewController.h>

    实现代理:MFMessageComposeViewControllerDelegate

    调用sendSMS函数

    //内容,收件人列表
    - (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
    {
        
        MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
        
        if([MFMessageComposeViewController canSendText])
            
        {
            
            controller.body = bodyOfMessage;
            
            controller.recipients = recipients;
            
            controller.messageComposeDelegate = self;
            
            [self presentModalViewController:controller animated:YES];
            
        }
        
    }
    // 处理发送完的响应结果
    - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
    {
        [self dismissModalViewControllerAnimated:YES];
        
        if (result == MessageComposeResultCancelled)
        {
            NSLog(@"Message cancelled")
        }
        else if(result == MessageComposeResultSent)
        {
            NSLog(@"Message sent")
        }
        else
        {
            NSLog(@"Message failed")
        }
                    
    }

    发送邮件

    导入#import <MessageUI/MFMailComposeViewController.h>

    实现代理:MFMailComposeViewControllerDelegate

    //发送邮件
    -(void)sendMail:(NSString *)subject content:(NSString *)content{
        
        MFMailComposeViewController *controller = [[[MFMailComposeViewController alloc] init] autorelease];
        
        if([MFMailComposeViewController canSendMail])
            
        {
            
            [controller setSubject:subject];
            
            [controller setMessageBody:content isHTML:NO];
            
            controller.mailComposeDelegate = self;
            
            [self presentModalViewController:controller animated:YES];
            
        }
    }
    //邮件完成处理
    -(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
        
        [self dismissModalViewControllerAnimated:YES];
        
        if (result == MessageComposeResultCancelled)
        {
            NSLog(@"Message cancelled");
        }
        else if(result == MessageComposeResultSent)
        {
            NSLog(@"Message sent");
        }
        else
        {
            NSLog(@"Message failed");
        }
    }

    默认发送短信的界面为英文的,解决办法为:

    在.xib 中的Localization添加一組chinese就ok了!

  • 相关阅读:
    第四节:前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、Git/SVN)
    第二十三节: EF性能篇(三)之基于开源组件 Z.EntityFrameWork.Plus.EF6解决EF性能问题
    第三节:一些指令总结(Nuget、)
    第十七节:易混淆的概念(静态和非静态、拆箱和装箱)
    Java使用Log4记录日志
    Java读取xml
    C# int.ToString() 常用参数说明
    WebAPI获取客户端请求数据
    Zend Studio获取永久使用权
    template.js 模版内调用外部JS方法
  • 原文地址:https://www.cnblogs.com/hero11223/p/6041666.html
Copyright © 2011-2022 走看看