第一種:
創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、海曙網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為海曙等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
NSMutableString *string = [[NSMutableString alloc]?initWithFormat:@"tel:%@",@"15139877951"];
[[UIApplication?sharedApplication]?openURL:[NSURL?URLWithString:string]];
注:撥打完電話后回不到原來的應(yīng)用,會停留在通訊錄里,而且是直接撥打不彈出提示。
第二種:
UIWebView *web?= [[UIWebView?alloc]?init];[self.view?addSubview:web];
NSMutableString?*string = [[NSMutableString?alloc]?initWithFormat:@"tel:%@",@"15139877951"];
[web?loadRequest:[NSURLRequest?requestWithURL:[NSURL?URLWithString:string]]];
注:撥打電話后還會回到原來的程序,也會彈出提示(推薦使用)
第三種:
NSMutableString?*string = [[NSMutableString?alloc]?initWithFormat:@"telprompt:%@",@"15139877951"];
[[UIApplication?sharedApplication]?openURL:[NSURL?URLWithString:string]];
注:撥打電話后會回到原來的程序里,也會彈出提示,但是注意這里的是telprompt??
iOS撥打電話(三種方法)
2 . 這種方法,打完電話后還會回到原來的程序,也會彈出提示,推薦使用這種
3 . 這種方法也會回去到原來的程序里(注意這里的telprompt,因?yàn)閍pple的文檔里邊沒出現(xiàn)過telprompt這個(gè),所以上架可能不被拒),也會彈出提示
原文來至cocoachina論壇,鏈接: ?
1.這種方法,網(wǎng)上很多說法是,撥打完,電話?;夭坏皆瓉淼膽?yīng)用,會停留在通訊錄里,而且是直接撥打,不彈出提示
但本人在iOS 10.3測試是,有 提示框的。也會回到原來的應(yīng)用。其他版本系統(tǒng)沒有測試過。
喚起提示框,很略慢。
這種方法,打完電話后還會回到原來的程序,也會彈出提示
但本人在iOS 10.3測試,喚起提示框,很略慢。
這種方法也會回去到原來的程序里(注意這里的telprompt),也會彈出提示
但本人在iOS 10.3測試,喚起提示框,很略慢。
打完電話后還會回到原來的程序,也會彈出提示
前面的三種方法都會有??,提示ios10后不再推薦使用。
官方,iOS 10之后推薦使用下面的方法
但本人在iOS 10.3測試,喚起提示框,比前面三種方法快。
1,這種方法,撥打完電話回不到原來的應(yīng)用,會停留在通訊錄里,而且是直接撥打,不彈出提示
NSMutableString* str=[[NSMutableStringalloc]initWithFormat:@"tel:%@",@"186xxxx6979"];//??????????? NSLog(@"str======%@",str);[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
2,這種方法,打完電話后還會回到原來的程序,也會彈出提示,推薦這種
NSMutableString* str=[[NSMutableStringalloc]initWithFormat:@"tel:%@",@"186xxxx6979"];UIWebView* callWebview = [[UIWebViewalloc]init];
[callWebviewloadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:str]]];
[self.viewaddSubview:callWebview];
[callWebviewrelease];
[strrelease];
3,這種方法也會回去到原來的程序里(注意這里的telprompt),也會彈出提示
NSMutableString* str=[[NSMutableStringalloc]initWithFormat:@"telprompt://%@",@"186xxxx6979"];//??????????? NSLog(@"str======%@",str);
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:str]]
在ios中,用H5編寫了可以打電話的頁面。 點(diǎn)擊“撥打”按鈕后可以進(jìn)行跳轉(zhuǎn)到打電話的頁面(跳轉(zhuǎn)這一塊應(yīng)該是和瀏覽器有關(guān)),跳轉(zhuǎn)之后撥打完電話能夠回到之前打電話的頁面。
1.UIWebView
方法1:NSString *location =[webViewstringByEvaluatingJavaScriptFromString:@"document.location"];
方法2:NSLog(@"webView location = '%@'", webView.request.URL.absoluteString);
以上兩種一定要放在頁面成功加載之后才可以的!
2.WKWebview
#pragma mark 在發(fā)送請求之前,決定是否跳轉(zhuǎn)
下面是我在網(wǎng)上找到的結(jié)果。應(yīng)該是可以用的。
1、調(diào)用 自帶mail
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];
2、調(diào)用 電話phone
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://xxxxxxxx"]];
iOS應(yīng)用內(nèi)撥打電話結(jié)束后返回應(yīng)用
一般在應(yīng)用中撥打電話的方式是:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://xxx"]];
使用這種方式撥打電話時(shí),當(dāng)用戶結(jié)束通話后,iphone界面會停留在電話界面。
用如下方式,可以使得用戶結(jié)束通話后自動(dòng)返回到應(yīng)用:
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、調(diào)用 SMS
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
4、調(diào)用自帶 瀏覽器 safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@""]];
調(diào)用phone可以傳遞號碼,調(diào)用SMS 只能設(shè)定號碼,不能初始化SMS內(nèi)容。
若需要傳遞內(nèi)容可以做如下操作:
加入:MessageUI.framework
#import MessageUI/MFMessageComposeViewController.h
實(shí)現(xiàn)代理:MFMessageComposeViewControllerDelegate
調(diào)用sendSMS函數(shù)
//內(nèi)容,收件人列表
- (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];
}
}
// 處理發(fā)送完的響應(yīng)結(jié)果
- (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")
}