调用系统自带设备

1、调用 电话phone

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

2、调用自带 浏览器 safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.abt.com"]];

3、调用 自带mail
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]];

4、调用 SMS
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];

5,跳转到系统设置相关界面

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];


其中,发短信,发Email的功能只能填写要发送的地址或号码,无法初始化发送内容,需要实现其各自的委托方法。

若需要传递内容可以做如下操作:
加入:MessageUI.framework
 
#import <MessageUI/MFMessageComposeViewController.h>
 
实现代理:MFMessageComposeViewControllerDelegate

[java] view plaincopy
  1. 调用sendSMS函数  
  2. //内容,收件人列表  
  3. - (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients  
  4. {  
  5.    
  6.     MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];  
  7.    
  8.     if([MFMessageComposeViewController canSendText])  
  9.    
  10.     {  
  11.    
  12.         controller.body = bodyOfMessage;     
  13.    
  14.         controller.recipients = recipients;  
  15.    
  16.         controller.messageComposeDelegate = self;  
  17.    
  18.         [self presentModalViewController:controller animated:YES];  
  19.    
  20.     }     
  21.    
  22. }  
  23.    
  24. // 处理发送完的响应结果  
  25. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result  
  26. {  
  27.   [self dismissModalViewControllerAnimated:YES];  
  28.    
  29.   if (result == MessageComposeResultCancelled)  
  30.     NSLog(@"Message cancelled")  
  31.   else if (result == MessageComposeResultSent)  
  32.     NSLog(@"Message sent")    
  33.   else   
  34.     NSLog(@"Message failed")    
  35. }  
  36.    
  37.    
  38. 发送邮件的为:  
  39. 导入#import <MessageUI/MFMailComposeViewController.h>  
  40. 实现代理:MFMailComposeViewControllerDelegate  
  41.    
  42. //发送邮件  
  43. -(void)sendMail:(NSString *)subject content:(NSString *)content{  
  44.    
  45.     MFMailComposeViewController *controller = [[[MFMailComposeViewController alloc] init] autorelease];  
  46.    
  47.     if([MFMailComposeViewController canSendMail])  
  48.    
  49.     {  
  50.    
  51.         [controller setSubject:subject];  
  52.    
  53.         [controller setMessageBody:content isHTML:NO];  
  54.    
  55.         controller.mailComposeDelegate = self;  
  56.    
  57.         [self presentModalViewController:controller animated:YES];  
  58.    
  59.     }      
  60. }  
  61.    
  62. //邮件完成处理  
  63. -(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{  
  64.    
  65.     [self dismissModalViewControllerAnimated:YES];  
  66.    
  67.     if (result == MessageComposeResultCancelled)  
  68.         NSLog(@"Message cancelled");  
  69.     else if (result == MessageComposeResultSent)  
  70.         NSLog(@"Message sent");   
  71.     else   
  72.         NSLog(@"Message failed");    
  73.    
  74. }  
  75.    
  76. 默认发送短信的界面为英文的,解决办法为:在.xib 中的Localization添加一组chinese  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章