回答
如果你的應用程序運行時調用到位檢查出CoreTelephony Framework。 CTCall
類提供有關呼叫狀態的信息。我沒有用過這個,但是你可能會覺得它很有用。
extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;
編輯:
的CTCallCenter
允許您爲呼叫事件狀態更改登記。正如我之前所說的,你的應用程序需要運行才能知道某些事情已經發生了變化。當您的應用程序移動到後臺時,您可能想要求最大後臺時間(我認爲它現在是10分鐘)。這些api僅在iOS 4.0及更高版本中可用。
是否可以在傳入呼叫屏幕上顯示一個類似覆蓋的Truecaller? – Nil 2016-12-20 07:17:23
您的應用程序委託會收到各種UIApplicationDelegate協議方法的調用。其中之一是- (void)applicationWillResignActive:(UIApplication *)application
方法,該方法稱爲傳入呼叫或文本消息,但也可能因其他原因而被調用。
有關更多信息,請參閱UIApplicationDelegate protocol reference。
看起來像這個CoreTelephony引入了在iOS 4.0+中這樣做的能力,只要該應用程序正在運行。 http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CTCallCenter/Reference/Reference.html#//apple_ref/doc/uid/TP40009604 – Joe 2011-03-22 20:39:57
謝謝喬。我已更新我的答案以刪除錯誤的部分。 – Greg 2011-03-22 20:46:17
沒問題因爲我還沒有測試這個框架,所以一旦提問者選擇了一個答案,我將能夠再次給予+1。 – Joe 2011-03-22 20:51:10
你可以做的最好的方法是掛上applicationWillResignActive
方法,當你的應用程序失去焦點時(這種情況發生在一個電話進入時,但也因其他原因,所以它不完美),基本上被調用。
而且,爲了回答沒人接觸過的問題,Skype正在使用專門用於保持應用程序在後臺運行以接收VOIP呼叫的背景方法。有一點它正在運行,等待被調用。除非您聲稱是用於VOIP或音頻用途的後臺應用程序,否則您無法這麼做 - 如果您聲明這一點,那麼最好是做,否則您將永遠不會訪問應用程序商店。
- 1. 在iOS中顯示UILocalNOtification提醒VOIP電話有效
- 2. Asp.Net顯示會話超時提醒
- 3. 電話鎖定時無法喚醒電話和顯示活動
- 4. 當lon/lat接近時顯示提醒
- 5. 如何在textview中點擊網址或電話號碼時顯示提醒?
- 6. 會話過期顯示消息提醒
- 7. 在iOS中滑動刪除時顯示提醒
- 8. 當提交時不顯示onbeforeunload提醒
- 9. 顯示提醒VBA
- 10. 使用iOS CallKit接收電話時啓動或顯示UIViewController
- 11. 在瀏覽器關閉時顯示提醒,但在註銷時關閉時不顯示提醒
- 12. 如何在接聽者接聽電話時發出提示?
- 13. iOS:提示用戶撥打電話
- 14. 如何在iPhone撥打電話時禁用呼叫提醒?
- 15. 提醒iOS swift
- 16. 用PHP顯示jQuery提醒
- 17. 第二次顯示提醒
- 18. 將LocalNotification顯示爲提醒
- 19. 不再顯示提醒
- 20. 在提醒對話框中顯示藍牙設備名稱
- 21. 在Android上的提醒對話框中顯示首選項
- 22. 在截圖中顯示提醒對話框
- 23. JSON響應顯示在提醒vview中?
- 24. 在窗口顯示自定義提醒
- 25. 每日提醒在iOS
- 26. Chrome提醒/提示顯示屏幕不顯示
- 27. 服務電話時叫醒電話活動和播放MediaPlayer,Android
- 28. 在電話中顯示PDF
- 29. 如何顯示電話遇到未接來電時的敬酒狀態?
- 30. 顯示按下後退按鈕上的提醒對話框
Skype使用推送通知。 – MusiGenesis 2011-03-22 17:20:47