国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOS-如何將應用集成發短信、發郵件、打電話

2019-11-14 20:39:37
字體:
來源:轉載
供稿:網友

今天把APP里常用小功能 例如發短信、發郵件、打電話。

全部拿出來簡單說說它們的實現思路。

 

1.發短信                   

實現打電話的功能,主要二種方法,下面我就分別說說它們的優缺點。

1.1.發短信(1)——URL           

// 直接撥號,撥號完成后會停留在通話記錄中

1、方法:

NSURL *url = [NSURL URLWithString:@"sms://10010"];

[[UIapplication sharedApplication] openURL:url];

2、優點:
–簡單
3、缺點:
–不能指定短信內容,而且不能自動回到原應用
 

1.2發短信(2)——MessageUI框架       

如果自定義短信,需要使用一個框架MessageUI。

優點

 1. 從應用出去能回來

 2. 可以多人

 3. 可以自定義消息,消息支持HTML格式的

 

而且如果在蘋果系統中,如果彼此的手機都是iOS設備,并且開通了iMessage功能,彼此之間的短信

 是走網絡通道,而不走運營商的通道!

- (void)msg2{    // 判斷用戶設備能否發送短信    if (![MFMessageComposeViewController canSendText]) {        return;    }        // 1. 實例化一個控制器    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];        // 2. 設置短信內容    // 1) 收件人    controller.recipients = @[@"10010", @"10086"];        // 2) 短信內容    controller.body = @"給您拜個晚年,祝您晚年快樂!";        // 3) 設置代理    controller.messageComposeDelegate = self;    // 3. 顯示短信控制器    [self PResentViewController:controller animated:YES completion:nil];}

 

記得發完短信記得調用代理方法關閉窗口

#pragma mark 短信控制器代理方法/** 短信發送結果  MessageComposeResultCancelled,     取消 MessageComposeResultSent,          發送 MessageComposeResultFailed         失敗 */- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{    NSLog(@"%d", result);        // 在面向對象程序開發中,有一個原則,誰申請,誰釋放!    // *** 此方法也可以正常工作,因為系統會將關閉消息發送給self//    [controller dismissViewControllerAnimated:YES completion:nil];        // 應該用這個!!!    [self dismissViewControllerAnimated:YES completion:nil];}

 

2.發郵件            

- (void)sendmail{    // 1. 先判斷能否發送郵件    if (![MFMailComposeViewController canSendMail]) {        // 提示用戶設置郵箱        return;    }        // 2. 實例化郵件控制器,準備發送郵件    MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];        // 1) 主題 xxx的工作報告    [controller setSubject:@"我的工作報告"];    // 2) 收件人    [controller setToRecipients:@[@"4800607@Gmail.com"]];        // 3) cc 抄送    // 4) bcc 密送(偷偷地告訴,打個小報告)    // 5) 正文    [controller setMessageBody:@"這是我的<font color=/"blue/">工作報告</font>,請審閱!<BR />P.S. 我的頭像牛X嗎?" isHTML:YES];        // 6) 附件    UIImage *image = [UIImage imageNamed:@"頭像1.png"];    NSData *imageData = UIImagePNGRepresentation(image);    // 1> 附件的二進制數據    // 2> MIMEType 使用什么應用程序打開附件    // 3> 收件人接收時看到的文件名稱    // 可以添加多個附件    [controller addAttachmentData:imageData mimeType:@"image/png" fileName:@"頭像.png"];        // 7) 設置代理    [controller setMailComposeDelegate:self];        // 顯示控制器    [self presentViewController:controller animated:YES completion:nil];}

 

同樣要記得發完郵件記得調用代理方法關閉窗口

#pragma mark - 郵件代理方法/** MFMailComposeResultCancelled,      取消 MFMailComposeResultSaved,          保存郵件 MFMailComposeResultSent,           已經發送 MFMailComposeResultFailed          發送失敗 */- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{    // 根據不同狀態提示用戶    NSLog(@"%d", result);        [self dismissViewControllerAnimated:YES completion:nil];}

 

3.打電話              

打電話有三種方式可以實現,優缺點也各不同

3.1.打電話不回引用           

1 - (void)tel12 {3     // 直接撥號,撥號完成后會停留在通話記錄中4     NSURL *url = [NSURL URLWithString:@"tel://10010"];5     6     [[UIApplication sharedApplication] openURL:url];7 }

3.2.出去打電話然后回來          

- (void)tel2{    // 但是:telprompt協議屬于蘋果的私有協議,一旦程序中使用了此協議,程序無法上架    // 針對越獄的機器開發的系統,可以使用此協議    NSURL *url = [NSURL URLWithString:@"telprompt://10010"];        [[UIApplication sharedApplication] openURL:url];}

 

3.3借助UIWebView打電話(會回來)  

一般都是用這種,解決了不越獄的問題。

- (void)tel3{    // 提示:不要將webView添加到self.view,如果添加會遮擋原有的視圖    // 懶加載    if (_webView == nil) {        _webView = [[UIWebView alloc] init];    }    NSLog(@"%p", _webView);    //    _webView = [[UIWebView alloc] initWithFrame:self.view.bounds];//    [self.view addSubview:_webView];        NSURL *url = [NSURL URLWithString:@"tel://10010"];    NSURLRequest *request = [NSURLRequest requestWithURL:url];        [_webView loadRequest:request];}

  

作者: 清澈Saup
出處: http://m.survivalescaperooms.com/qingche/
本文版權歸作者和博客園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接。

   

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼和浩特市| 宜城市| 通渭县| 彰化市| 永吉县| 台湾省| 丘北县| 什邡市| 安泽县| 阳谷县| 黑水县| 卓尼县| 兰州市| 枝江市| 汝阳县| 济宁市| 佳木斯市| 德庆县| 建始县| 阳春市| 唐海县| 昭平县| 将乐县| 东乡县| 布尔津县| 沐川县| 房产| 龙南县| 汽车| 化德县| 洛阳市| 沈阳市| 红桥区| 和田县| 东辽县| 武功县| 石家庄市| 盐源县| 昆明市| 仲巴县| 南投县|