IOS 開發,調用打電話,發短信,打開網址

jopen 12年前發布 | 40K 次閱讀 IOS iOS開發 移動開發

1、調用 自帶mail

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];


2、調用 電話phone

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

iOS應用內撥打電話結束后返回應用
一般在應用中撥打電話的方式是:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://123456789"]];

使用這種方式撥打電話時,當用戶結束通話后,iphone界面會停留在電話界面。
用如下方式,可以使得用戶結束通話后自動返回到應用:
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 allocinitautorelease];


    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了

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!