回答
按照教程
要撥打電話使用 -
NSURL *url = [NSURL URLWithString:@"tel://012-4325-234"];
[[UIApplication sharedApplication] openURL:url];
開啓應用程式後,通話結束後使用 -
(注:telprompt是無證)
NSURL *url = [NSURL URLWithString:@"telprompt://012-4325-234"];
[[UIApplication sharedApplication] openURL:url];
網址無效 – 2012-01-20 05:28:05
如何撥打接入碼? – 2012-07-09 07:26:33
不是telprompt://是否會被Apple拒絕的私有方法? – 2012-07-24 01:46:55
您可以使用UIApplication
的openURL:
方法以編程方式撥打電話號碼(請參閱下面的示例)。我不確定訪問代碼是否受支持,但這至少是一個起點。
NSURL *URL = [NSURL URLWithString:@"tel://900-3440-567"];
[[UIApplication sharedApplication] openURL:URL];
編輯:見Apple URL Scheme Reference和UIApplication Class Reference以獲取更多信息。
UIDevice *device = [UIDevice currentDevice];
if ([[device model] isEqualToString:@"iPhone"]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:130-032-2837"]]];
} else {
UIAlertView *notPermitted=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your device doesn't support this feature." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[notPermitted show];
[notPermitted release];
}
感謝球員發佈代碼真的有幫助,但訪問代碼如何自動撥打會議? – 2011-03-28 13:14:48
您應該使用canOpenURL而不是設備模型。請記住,iPad和iPod touch可以撥打FaceTime號碼。 http://blog.mugunthkumar.com/coding/iphone-tutorial-better-way-to-check-capabilities-of-ios-devices/ – Mugunth 2012-09-18 01:58:48
真的十分感謝。如果您使用小寫命名UIAlertView實例的話,會更加出色 – 2013-02-14 17:41:11
這是不可能以編程方式撥打該號碼包括與接入碼的電話號碼。
蘋果開發人員庫提供了以下信息:
」 ......電話應用程序支持大多數,但不是所有的電話方案的特殊字符,特別是,如果一個URL包含*或#字符,電話應用程序不會嘗試撥打相應的電話號碼。「
你確定這是不可能的,並確定蘋果拒絕? – 2013-05-29 09:03:22
如果URL中包含'*'或''#它不工作 – 2013-06-04 11:28:55
除此之外情況下做它的工作原理? – 2013-06-04 11:32:32
我不知道,如果你真的找到了一個解決方案通過接入碼,但對我這個代碼工作:
NSString *dialstring = [[NSString alloc] initWithFormat:@"tel:your_phonenumber,your_accessnumber"];
這將導致撥號串用以下值:
:tel:9003440567,65445
其餘部分由的iOS使用下面的命令的電話應用管理
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:dialstring]];
字符串中的,
在撥打第一個號碼並建立連接後,會在您的電話系統(您想要訪問會議室的那個)中暫停。因此,電話系統有時間詢問您的訪問代碼(我認爲它應該問你,這是我們的系統工作方式)。之後,您的訪問代碼應通過。
BE AWARE:您的訪問代碼將以非祕密方式傳入。例如:您的顯示訪問代碼會被這種方式顯示在iPhone手機應用程序顯示:9003440567,65445
dialstring必須使用「{」和「}」 - >方法[[UIApplication sharedApplication] openURL:[NSURL URLWithString:dialstring]];而不是檢查,如果設備是iPhone ...]':不叫 – vualoaithu 2013-12-23 09:10:06
使用此用戶可以呼叫重定向,呼叫後,他/她將自動重定向到該應用程序。它爲我工作,並確信它。
if ([[device model] isEqualToString:@"iPhone"]) {
NSString *phoneNumber = [@"telprompt://" stringByAppendingString:cellNameStr];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
} else {
UIAlertView *warning =[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your device doesn't support this feature." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[warning show];
}
由於其做工精細 – nivritgupta 2014-07-28 18:51:55
應該使用'[UIApplication的sharedApplication] canOpenURL。 – Zorayr 2015-04-25 18:47:17
有許多的方式來撥打電話號碼和使用說明的方式:
[UIApplication的sharedApplication]的OpenURL:[NSURL URLWithString:@ 「電話:555-555-5555」 ]
是一個有效的方法來做到這一點,但它有一些問題。首先,它不會正確提示用戶,其次在電話完成時它不會將用戶帶回應用程序。要正確地撥打電話,您應該在通話之前提示您,以免讓用戶感到意外,並且一旦通話完成,您應該將用戶帶回應用程序。
這些都可以在不使用私有API的情況下完成,正如這裏的一些答案所建議的。推薦的方法使用telprompt api,但不使用調用的私有實例,而是創建一個允許未來兼容性的Web視圖。
+ (void)callWithString:(NSString *)phoneString
{
[self callWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",phoneString]]];
}
+ (void)callWithURL:(NSURL *)url
{
static UIWebView *webView = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
webView = [UIWebView new];
});
[webView loadRequest:[NSURLRequest requestWithURL:url]];
}
樣本項目和其他信息在這裏提供: http://www.raizlabs.com/dev/2014/04/getting-the-best-behavior-from-phone-call-requests-using-tel-in-an-ios-app/
請注意原始問題,詢問如何撥打號碼以及接入碼。訪問代碼可以通過使用暫停序列以及訪問代碼來撥打。暫停使用「555-1212,65455」完成。請注意,每個逗號通常代表大約兩秒的暫停。 – graiz 2014-04-08 03:48:06
URL字符串應以「tel://」開頭。雖然在示例中傳遞的參數phoneString可能以「//」開頭,但我懷疑事實並非如此 – 2014-08-10 13:37:45
這裏是斯威夫特一個獨立的解決方案:
private func callNumber(phoneNumber:String) {
if let phoneCallURL:NSURL = NSURL(string: "tel://\(phoneNumber)") {
let application:UIApplication = UIApplication.sharedApplication()
if (application.canOpenURL(phoneCallURL)) {
application.openURL(phoneCallURL);
}
}
}
現在,你應該能夠使用callNumber("7178881234")
撥打電話;希望這可以幫助!
- 1. 訪問撥打的電話號碼
- 2. 是否可以撥打帶分機號碼的電話號碼?
- 3. 以編程方式撥打電話
- 4. 用*號碼撥打電話號碼
- 5. 從應用程序撥打帶格式號碼的電話號碼
- 6. 如何以編程方式撥打Android SDK中的電話號碼?
- 7. 訪問android中撥打電話時的來電號碼
- 8. 在手機上點擊電話號碼時撥打電話號碼撥號器
- 9. 網站,可以撥打電話到指定的電話號碼
- 10. 從另一個應用程序撥打電話號碼撥打電話
- 11. 我該如何添加一個按鈕,以編程方式給電話號碼撥打電話?
- 12. 在swift中撥打電話號碼
- 13. 自動撥打電話號碼
- 14. 使用Swift撥打電話號碼
- 15. 通過藍牙撥打電話號碼
- 16. 繞過撥號器撥打預定義的電話號碼
- 17. iOS-撥打不分享號碼的電話號碼
- 18. 以編程方式在iPhone上撥打電話的侷限性
- 19. 如何撥打號碼時點擊電話號碼?
- 20. 如何在用戶點擊號碼時撥打電話號碼?
- 21. 以編程方式獲取設備的電話號碼
- 22. 以編程方式回答iPhone上的傳入電話號碼
- 23. Twilio多個代理撥打電話的一個號碼
- 24. 從iOS或Android撥打電話時隱藏電話號碼
- 25. 打電話意圖撥打電話,在Android中選擇一個電話號碼?
- 26. 如何以編程方式獲取android電話號碼?
- 27. 目前iPhone撥號盤了號碼,但沒有實際撥打電話
- 28. 撥打號碼
- 29. 在iOS中以編程方式撥打電話號碼時顯示聯繫人姓名
- 30. 在android中撥打電話的來電顯示號碼
可能重複的[編程式撥打電話號碼和使用iPhone SDK傳遞DTMF](http://stackoverflow.com/questions/584663/programatically-dial-a-phone-number-and-pass-dtmf-using -the-iphone-sdk) – Senseful 2015-06-19 21:46:24