天天看点

IOS 开发调用打电话,发短信

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/