系统应用与系统服务
来源:互联网 发布:汽车配件淘宝店铺名字 编辑:程序博客网 时间:2024/04/29 22:05
打电话 发短息 发邮件 启动浏览器
在开发某些应用时可能希望能够调用iOS系统内置的电话、短信、邮件、浏览器应用,此时你可以直接使用UIApplication的OpenURL:方法指定特定的协议来打开不同的系统应用。常用的协议如下:
打电话:tel:或者tel://、telprompt:或telprompt://(拨打电话前有提示)
发短信:sms:或者sms://
发送邮件:mailto:或者mailto://
启动浏览器:http:或者http://
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];}#pragma mark - UI事件//打电话- (IBAction)callClicK:(UIButton *)sender { NSString *phoneNumber=@"18500138888";// NSString *url=[NSString stringWithFormat:@"tel://%@",phoneNumber];//这种方式会直接拨打电话 NSString *url=[NSString stringWithFormat:@"telprompt://%@",phoneNumber];//这种方式会提示用户确认是否拨打电话 [self openUrl:url];}//发送短信- (IBAction)sendMessageClick:(UIButton *)sender { NSString *phoneNumber=@"18500138888"; NSString *url=[NSString stringWithFormat:@"sms://%@",phoneNumber]; [self openUrl:url];}//发送邮件- (IBAction)sendEmailClick:(UIButton *)sender { NSString *mailAddress=@"kenshin@hotmail.com"; NSString *url=[NSString stringWithFormat:@"mailto://%@",mailAddress]; [self openUrl:url];}//浏览网页- (IBAction)browserClick:(UIButton *)sender { NSString *url=@"http://www.cnblogs.com/kenshincui"; [self openUrl:url];}#pragma mark - 私有方法-(void)openUrl:(NSString *)urlStr{ //注意url中包含协议名称,iOS根据协议确定调用哪个应用,例如发送邮件是“sms://”其中“//”可以省略写成“sms:”(其他协议也是如此) NSURL *url=[NSURL URLWithString:urlStr]; UIApplication *application=[UIApplication sharedApplication]; if(![application canOpenURL:url]){ NSLog(@"无法打开\"%@\",请确保此应用已经正确安装.",url); return; } [[UIApplication sharedApplication] openURL:url];}@end
短信 邮件
调用系统内置的应用来发送短信、邮件相当简单,但是这么操作也存在着一些弊端:当你点击了发送短信(或邮件)操作之后直接启动了系统的短信(或邮件)应用程序,我们的应用其实此时已经处于一种挂起状态,发送完(短信或邮件)之后无法自动回到应用界面。如果想要在应用程序内部完成这些操作则可以利用iOS中的MessageUI.framework,它提供了关于短信和邮件的UI接口供开发者在应用程序内部调用。从框架名称不难看出这是一套UI接口,提供有现成的短信和邮件的编辑界面,开发人员只需要通过编程的方式给短信和邮件控制器设置对应的参数即可。
详细参考:
http://www.cnblogs.com/kenshincui/p/4220402.html 0 0
- 系统应用与系统服务
- 管理器与系统服务
- MATLAB2015分布式计算服务系统安装与应用
- Ios系统应用和系统服务
- 推荐系统与应用
- Windows系统进程与服务
- [Linux] 系统服务与daemon
- 系统声音服务与震动
- 系统声音服务与震动
- Android自定义系统服务与部分系统服务列表
- upstart封装nodejs应用为系统服务
- upstart把应用封装成系统服务
- 第十五章 应用层系统服务
- 系统服务开发汇总iOS开发系列--调用系统应用
- 嵌入式linux系统与应用
- 系统架构与架构应用
- 系统服务
- 系统服务
- codeforces 602B Approximating a Constant Range(线段树+尺取法)
- MyBatis中$和#的区别
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
- c++ final关键字
- 申请高德地图android SDK的Key
- 系统应用与系统服务
- 利用CWinThread实现跨线程父子MFC窗口
- UI基础学习之(十):UIPageControl
- iOS 图形处理 Core Graphics Quartz2D 教程
- IOS Framework 制作教程 for xcode7 (一)
- 一步一步学习TypeScript(00.环境安装)
- DM9000网卡驱动源码分析系列04 - ethtool
- 工作遇到求一个数组一个值连续出现的次数(php代码)
- 在ftp被动模式下 ftp_put 上传文件