我有一個在iphone 2.2.1版本中工作得很好的應用程序,但當我將我的開發iphone升級到3.1.2時遇到了問題。之前,撥打號碼的工作正常,因爲通話結束時,我的應用程序已加載。現在,在我結束通話後,它會加載默認的電話應用程序。有人知道這是爲什麼嗎?我已經從sdk 2.x到3.x看了diff,並且找不到任何理由改變它。謝謝使用電話:網址發起呼叫不會返回控制
0
A
回答
4
這的確從3.0改爲3.1。如果您需要「即時通話」和「重新啓動應用程序」,則有兩種解決方法:
選項1:創建一個UIWebView並加載您的tel:URL。
// assuming you have an ivar to store a weak reference to a UIWebView:
// UIWebView *phoneCallWebView;
- (void) dialPhoneNumber:(NSString *)aPhoneNumber
{
NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",aPhoneNumber]];
if (!phoneCallWebView) {
phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];
}
[phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]];
}
- (void) dealloc
{
// cleanup
[phoneCallWebView release], phoneCallWebView = nil;
[super dealloc];
}
選項2:用與telprompt:<number>
URL方案,而不是tel:<number>
撥打您的電話。請注意,這是一個未記錄的API功能,但它是UIWebView在Web瀏覽器(或MobileSafari中)中點擊電話號碼鏈接時使用的功能。如果你的目標是iPhone> = 3.0,使用telprompt沒有任何問題:(tel:和telprompt:在3.0上是相同的)。我不確定iPhone OS 2.x.
一般而言,選項2的工作原理更簡單,但選項1實際上是一種「合法的」解決方法。不幸的是,似乎沒有辦法將「即時呼叫」和「呼叫後重新啓動」行爲分開。在iPhoneOS> = 3.1上,您既可以同時使用,也可以不使用。
1
是的,蘋果改變了這種行爲從3.0到3.1(我相信,也可以從2.x到3.0)。他們已經承認這種變化是故意的,而不是一個錯誤。沒有我知道的解決方法。如果您認爲舊的行爲應該再次可用,您只需要爲它提供文件增強請求。
1
但是UIWebView和telepump都會引入一個「彈出框」,要求用戶確認用戶是否想撥打該號碼。我想知道是否有一些解決方案可以擺脫「彈出框」謝謝。
0
NSURL* url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"telprompt:%@",[SLUser sharedInstance].ivrNumber]];
[[UIApplication sharedApplication] openURL:url];
相關問題
- 1. 從BroadcastReceiver發起新的電話呼叫
- 2. 發起呼叫使用自動電話在HREF
- 3. 使用會話控制返回回顯
- 4. 使用freeswitch在網絡瀏覽器中發起呼叫和接聽電話
- 5. 使用Monodroid發起呼叫
- 6. 電話呼叫應用
- 7. 使用Android模擬電話呼叫
- 8. 從DB選擇併發電話呼叫
- 9. 如何在併發呼叫時撥打SIP呼叫會話
- 10. 式電話呼叫計算
- 11. Monotouch電話/呼叫狀態?
- 12. IP電話呼叫RTP流
- 13. 電話呼叫權限
- 14. 外部電話呼叫
- 15. 雲電話呼叫轉移
- 16. Android意圖電話呼叫
- 17. 如何使用Adhearsion從Rails應用程序發起電話呼叫?
- 18. 使用AJAX呼叫恢復會話
- 19. 呼叫控制sip呼叫星號
- 20. PHP Zend的電話呼叫控制器方法
- 21. 呼叫窗口控制/信息電話8
- 22. 電話回撥網址:
- 23. Asterisk AGI - 使用php agi發起呼叫
- 24. 使用MPRemoteCommandCenter時不會呼叫播放/暫停回叫
- 25. 呼叫會話的任何控制器操作在MVC
- 26. 呼叫來電呼叫
- 27. 進行電話呼叫離子應用
- 28. 使用會話包裝更換直接呼叫會話變量
- 29. 使用ajax查看呼叫控制器
- 30. 使用RestTemplate到呼叫控制器
這就是我在檢查幾個論壇後想的,但只是想確認一下。謝謝! – 2009-11-05 15:41:12
我剛剛提交了一個增強請求,如果我從他們那裏聽到任何信息,我會跟進。 – 2009-11-05 17:16:51