我正在使用以下代碼撥打電話號碼並使用我的設備進行測試。看來沒有確認是必要的,對嗎?iOS中的撥號號碼確實需要確認嗎?
NSURL *url = [NSURL URLWithString:@"tel://12345678"];
[[UIApplication sharedApplication] openURL:url];
我正在使用以下代碼撥打電話號碼並使用我的設備進行測試。看來沒有確認是必要的,對嗎?iOS中的撥號號碼確實需要確認嗎?
NSURL *url = [NSURL URLWithString:@"tel://12345678"];
[[UIApplication sharedApplication] openURL:url];
確認不是必需的,並且在以編程方式完成時不顯示。如果單擊一個數字,您將只能在Safari中看到alertView。
但是,根據我自己的經驗,我認爲客戶看到對話框會更方便,以免他們不小心打電話給某人。人們只是在應用程序中挖掘事物,甚至沒有想到,在這種情況下可能會很糟糕。
要模仿什麼Safari瀏覽器也可以做這樣的事情:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Call 12345678?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Call", nil];
[alert show];
alert.tag = 1;
[alert release];
和
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
switch (alertView.tag) {
case 1:
if (buttonIndex == 1) {
NSURL *url = [NSURL URLWithString:@"tel://12345678"];
[[UIApplication sharedApplication] openURL:url];
}
break;
default:
break;
}
}
到合適的解決方案的替代已經發布,你可以考慮使用telprompt
URL方案,例如
NSURL *url = [NSURL [email protected]"telprompt://12345678"];
[[UIApplication sharedApplication] openURL:url];
+1雖然完全沒有文檔,但在我的測試中,它似乎一直回到iOS 3.0。 – 2011-07-08 17:54:09
偉大的解決方案! +1謝謝! – dredful 2012-03-08 22:17:50
確認不是必需的,但它是可取的,因爲它防止用戶被放入撥號應用程序時發生混淆。你可以做的一件事是另一個答案提出的是使用telprompt而不是電話。這將通過一個簡單的對話框提供必要的提示。在通話結束後,它還有一個非常好的副作用,即讓用戶回到呼叫應用程序。這些關鍵元素使您可以繼續前進,而不是被踢出應用程序。
的一類,進一步解釋了這個代碼和一個示例項目,請訪問: http://www.raizlabs.com/dev/2014/04/getting-the-best-behavior-from-phone-call-requests-using-tel-in-an-ios-app/
請更改接受的答案,因爲第二種解決方案是這樣清潔劑(如本地化的消息),我沒有上注意到它時間:) – yonix 2013-05-18 12:16:37