iOS應用調用系統打電話、發簡訊和發郵件功能

來源:互聯網
上載者:User

標籤:ios   打電話   發簡訊   發郵件   

摘要:

在應用程式內,調用系統的功能來實現打電話、發簡訊和發郵件,通過電話號碼或者郵箱,直接跳轉到系統的功能介面。


PS:調試好像只能真機調試,模擬器沒有反應,真機就可以跳轉,不知道是不是必須真機,但方法肯定是可行的。


1、打電話

應用內調用系統打電話有兩種方式:


1)WebView方式

使用WebView來跳轉,把電話號碼通過URL傳遞給WebView,這種方式會彈出是否要撥打的提示,可以選擇撥打或者不撥打,打完也會自動回到應用介面,推薦。

UIWebView *callWebview =[[UIWebView alloc] init];NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",self.phoneNumber.text]];[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];[self.view addSubview:callWebview];

在URL中加入“tel:”開頭,後接電話號碼,系統就會識別為調用撥號器了。


2)UIApplication方式

使用UIApplication來跳轉,同樣傳遞和上一種方式同樣的URL,這種方式不會彈出提示問你確認撥打與否,而是直接撥打,打完也會停在通訊錄那,不會回到應用,不推薦。

NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",self.phoneNumber.text]];[[UIApplication sharedApplication] openURL:telURL];


2、發簡訊

應用內調用系統發簡訊也有兩種方式,與打電話是一樣的,唯一的不同是URL中要以“sms:”開頭,這樣就可以告訴系統要調用的是發簡訊功能:


1)WebView方式

使用WebView來跳轉,把電話號碼通過URL傳遞給WebView,這種方式會跳到簡訊介面發送,推薦。

UIWebView *smsWebview =[[UIWebView alloc] init];NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"sms:%@",self.phoneNumber.text]];[smsWebview loadRequest:[NSURLRequest requestWithURL:telURL]];[self.view addSubview:smsWebview];

2)UIApplication方式

使用UIApplication來跳轉,這種方式會在後台直接發送,不推薦。

NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"sms:%@",self.phoneNumber.text]];[[UIApplication sharedApplication] openURL:telURL];


3、發郵件

發郵件還是一樣使用WebView的方式,與打電話、發簡訊都是一樣的,要改的也是URL中要以“mailto:”開頭,後接郵箱地址:

UIWebView *emailWebview =[[UIWebView alloc] init];NSURL *emailURL =[NSURL URLWithString:[NSString stringWithFormat:@"mailto:%@",self.email.text]];[emailWebview loadRequest:[NSURLRequest requestWithURL:emailURL]];[self.view addSubview:emailWebview];

這樣會跳轉到系統內建的郵箱應用去。


在使用這些功能時,應該注意Regex檢測手機號碼、郵箱的格式等。

在這裡可以下載我的樣本工程:https://github.com/Cloudox/TelTest


轉載請註明出處,謝謝


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

iOS應用調用系統打電話、發簡訊和發郵件功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.