iOS基本的发短信和打电话调用

电话、短信是手机的基础功能,iOS中提供了接口,让我们调用。这篇文章简单的介绍一下iOS的打电话、发短信在程序中怎么调用。

1、打电话

[cpp] view plain copy

print?

  1. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//打电话

使用openURL这个API打电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?有两种方法与大家分享。

第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。

代码如下:

[cpp] view plain copy

print?

  1. UIWebView*callWebview =[[UIWebView alloc] init];
  2. NSURL *telURL =[NSURL URLWithString:@"tel:10010"];
  3. [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
  4. //记得添加到view上
  5. [self.view addSubview:callWebview];

第二种是私有方法,不能上App Store的(自己没试过)。

[cpp] view plain copy

print?

  1. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10010"]];

上面的代码只是把第一个方法中的tel为telprompt.

2、发短信

iOS中可以使用两种方式发送短信,最简单是使用openURL:

[cpp] view plain copy

print?

  1. [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];//发短信

上面方式无法指定短信内容,iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信. 介绍可参阅Message UIFramework Reference

MFMessageComposeViewController提供了操作界面使用前必须检查canSendText方法,若返回NO则不应将这个controller展现出来,而应该提示用户不支持发送短信功能.

messageComposeDelegate :代理,处理发送结果

recipients  :收信人<列表,支持群发>

body :短信内容

Frameworks中要引入MessageUI.framework

#import <MessageUI/MessageUI.h>
添加协议:<MFMessageComposeViewControllerDelegate>

[cpp] view plain copy

print?

  1. #import <MessageUI/MessageUI.h>
  2. @interface DemoViewController : UIViewController <MFMessageComposeViewControllerDelegate>
  3. @end

调用MFMessageComposeViewController,同时实现协议MFMessageComposeViewControllerDelegate。

[cpp] view plain copy

print?

  1. - (void)showMessageView
  2. {
  3. if( [MFMessageComposeViewController canSendText] ){
  4. MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc]init]; //autorelease];
  5. controller.recipients = [NSArray arrayWithObject:@"10010"];
  6. controller.body = @"测试发短信";
  7. controller.messageComposeDelegate = self;
  8. [self presentModalViewController:controller animated:YES];
  9. [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"测试短信"];//修改短信界面标题
  10. }else{
  11. [self alertWithTitle:@"提示信息" msg:@"设备没有短信功能"];
  12. }
  13. }
  14. //MFMessageComposeViewControllerDelegate
  15. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
  16. [controller dismissModalViewControllerAnimated:NO];//关键的一句   不能为YES
  17. switch ( result ) {
  18. case MessageComposeResultCancelled:
  19. [self alertWithTitle:@"提示信息" msg:@"发送取消"];
  20. break;
  21. case MessageComposeResultFailed:// send failed
  22. [self alertWithTitle:@"提示信息" msg:@"发送成功"];
  23. break;
  24. case MessageComposeResultSent:
  25. [self alertWithTitle:@"提示信息" msg:@"发送失败"];
  26. break;
  27. default:
  28. break;
  29. }
  30. }
  31. - (void) alertWithTitle:(NSString *)title msg:(NSString *)msg {
  32. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
  33. message:msg
  34. delegate:self
  35. cancelButtonTitle:nil
  36. otherButtonTitles:@"确定", nil];
  37. [alert show];
  38. }

发邮件可参考

/**

* @author 张兴业

*  http://blog.csdn.net/xyz_lmn

*  iOS入门群:83702688

*  android开发进阶群:241395671

*  我的新浪微博:@张兴业TBOW

*/

参考:

http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html

时间: 2024-10-12 19:11:14

iOS基本的发短信和打电话调用的相关文章

IOS问题汇总:2015-1-9 iOS 调用系统发短信以及打电话功能

iOS 调用系统发短信以及打电话功能 ios电话smsinterface互联网class先介绍一种最简单的方法: 调用打电话功能 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@“tel://10086”]]; 调用发短信功能 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@“sms://10000”]]; 上面的发短信的功能是调用系统的

IOS 调用系统发短信以及打电话的功能

IOS 调用系统发短信以及打电话的功能 http://blog.csdn.net/lwq421336220/article/details/7818979 先介绍一种最简单的方法: 调用打电话功能 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]]; 调用发短信功能 [[UIApplication sharedApplication]openURL:[NSURL URLWithS

ionic项目中实现发短信和打电话

原文地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/ionic-sms-and-call/ 最近做的一个ionic项目中需要实现发短信和打电话,总结了一下遇到的问题和实现的方法. 1.关于打电话 在html中可以很方便的实现拨打电话先在config.xml中添加: <access origin="tel:*" launch-external="yes"/> 然后在html中这样写:

iOS中如何切换到发短信、打电话、发邮件

我们在做APP的时候,难免会遇到需要调用短信,电话等程序的时候.如美团. 当然,这些都只是一些简单的方法就可以实现,但是时间久了也会淡忘,所以想写这边博客.一是为了再捡起来复习一下,另一个相当于留个备份,以后忘了,自己也可以捡起来看看. 首先,说说如何调用浏览器打开网页. 当然这个就很简单了,只需要短短两句话就可以实现 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; // [[UIApplication share

发短信,打电话等

一.调用系统功能 在iOS中打开系统本身的打电话和发短信功能还是比较简单的,之前在SSO中也提了一嘴,iOS中可以由一个应用打开另一个应用,只需要一行代码,打电话,发短信,发email,开网页也是一样的 ,只是用的协议不一样. 1.打电话 这个还是比较简单的,下面是打电话的代码:%@的内容是手机号self.myApplication是Application的单例. 2.发短信 发送短信只是和打电话用的协议不一样改一下协议就可以打电话了 3.发email 也是换一下协议即可 4.打开网址

linux下利用GPRS模块发短信、打电话

一.开发环境 内核版本:linux-3.0    开发板:FL2440(nandflash:K9F1G08 128M)    GPRS模块:SIM900 二.与发短信和拨号相关的 AT 指令 AT+CMGC   Send an SMS command(发出一条短消息命令) AT+CMGD   Delete SMS message(删除 SIM 卡内存的短消息) AT+CMGF   Select SMS message formate (选择短消息信息收发格式: 0-PDU;1-文本) AT+CM

iOS程序内发短信

1.程序外发短信 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@sms://10086]]; 2.程序内发短信,发完短信自动返回应用 (1)首先导入框架MessageUI.framework (2) 引入头文件 #import <MessageUI/MessageUI.h> (3) 实现代理方法 <MFMessageComposeViewControllerDelegate, UINavigationCon

iOS 拨打电话 发短信(sms) 发邮件(mail) 调用自带的浏览器 safari

注意 : 以下需要苹果手机测试(真机测试)           一.拨打电话的两种方式 //拨打电话方式1  (弹出提示是否呼叫,推荐这种) UIWebView*callWebview =[[UIWebView alloc] init]; NSURL *telURL =[NSURL URLWithString:@"tel:10086"]; [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]]; //记得添加到vie

IOS程序内发短信 MFMessageComposeViewController

文章转载地址:http://www.headsky.org/?p=63 iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信. 介绍可参阅Message UIFramework Reference 一些笔记: MFMessageComposeViewController 提供了操作界面 使用前必须检查canSendText方法,