1、调用 自带mail
[[uiapplication sharedapplication] openurl:[nsurl urlwithstring:@"mailto://[email protected]"]];
2、调用 电话phone
[[uiapplication sharedapplication] openurl:[nsurl urlwithstring:@"tel://8008808888"]];
ios应用内拨打电话结束后返回应用
一般在应用中拨打电话的方式是:
[[uiapplication sharedapplication] openurl:[nsurl urlwithstring:@"tel://123456789"]];
用如下方式,可以使得用户结束通话后自动返回到应用:
uiwebview*callwebview =[[uiwebview alloc] init];
nsurl *telurl =[nsurl urlwithstring:@"tel:10086"];// 貌似tel:// 或者 tel: 都行
[callwebview loadrequest:[nsurlrequest requestwithurl:telurl]];
//记得添加到view上
[self.view addsubview:callwebview];
还有一种私有方法:(可能不能通过审核)
[[uiapplication sharedapplication] openurl:[nsurl urlwithstring:@"telprompt://10086"]];
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")
默认发送短信的界面为英文的,解决办法为:
在.xib 中的localization添加一組chinese就ok了
最新内容请见作者的github页:http://qaseven.github.io/