IOS 短信 电话 打开网址

打电话、发短信是手机的基础功能,在IOS中提供了接口让我们调用,下面我们介绍IOS怎么调用打电话,发短信。

1、打电话

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

使用openURL这个API打电话结束后,返回的节目是系统拨打电话的界面。对用户体验不太好,下面我们介绍另外一中打电话以后可以返回系统的方式,代码如下:

    UIWebView*callWebview =[[UIWebView alloc] init];
    NSURL *telURL =[NSURL URLWithString:@"tel:10086"];
    [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
    [self.view addSubview:callWebview];

2、发短信

在IOS中发送短信有两张方式,最简单的是使用openURL,代码如下:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];//发送短信

上述方法无法指定短信发送的内容,在IOS4.0以后,新添加了 MFMessageComposeViewCont roller和MFMessageComposeViewCont rollerDelegate,提供了发送短信的接口,具体可参考 MFMessageComposeViewController MFMessageComposeViewController提供了是否支持发送短信的canSendText方法,
在调用发送界面之前,可以先检查是否支持发送短信,如果返回NO,则不应该将短信界面展示出来,而应该提示用户不支持发送
短信。

要使用此功能,需要先在Frameworks中引入MessageUI.framework
#import <MessageUI/MessageUI.h>
添加协议<MFMessageComposeViewControllerDelegate>
主要参数有:
messageComposeDelegate  处理发送结构
recipients:收信人(支持群发)
body:短信内容
代码调用如下:
@interface ViewController ()<MFMessageComposeViewControllerDelegate>

@property(nonatomic,retain)UIImageView *imageview;

@end

调用MFMessageComposeViewController,同时实现MFMessageComposeViewControllerDelegate,代码如下:
-(void)BtnSetBodySendMessage{
    if([MFMessageComposeViewController canSendText]){
        MFMessageComposeViewController *controller=[[MFMessageComposeViewController alloc] init];
        controller.recipients=[NSArray arrayWithObject:@"10086"];
        controller.messageComposeDelegate=self;
        [self presentViewController:controller animated:YES completion:nil];
        
        [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"标题"];//修改短信界面标题
    }else{
        NSLog(@"设备没有短信功能");
    }
}
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
    switch(result){
        case MessageComposeResultCancelled:
            NSLog(@"发送取消");
            break;
        case MessageComposeResultFailed:
            NSLog(@"发送失败");
            break;
        case MessageComposeResultSent:
            NSLog(@"发送成功");
            break;
        default:
            break;
    }
    [controller dismissViewControllerAnimated:YES completion:nil];
}

3、打开网址

代码如下:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.ifeng.com"]];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值