2013-08-07 40 views
0

我試圖製作一個應用程序,一旦用戶完成其電話呼叫,應用程序就會進入圖片(每次都會有&)。每次通話結束後在iOS中調用應用程序

使用案例

「我的應用」 當前沒有運行。

  1. 用戶通過手機撥打電話。
  2. 一旦通話完成,「我的應用程序」應該開始/運行。
  3. 它應該收集關於上次呼叫的一些信息。
  4. 其寫入日誌&結束..

我已經看到了後臺前臺運行,但如何每​​次電話後調用應用程序的任務。

謝謝..

+1

不可能。情景2和情景3都不可能採用「蘋果認可」的方式。也許它可以在越獄iPhone – basvk

+0

@basvk:感謝您的快速回復。因此,如果我放棄第2步,是否可以按照「Apple已批准」的方式獲取最近通話的列表。 –

+0

不,如果沒有使用越獄手機icw private api的話,根本不可能。我衷心希望蘋果永遠不會啓用這個。 – basvk

回答

3

不能做到這一點。非常簡單的iOS沒有(還)有任何這樣的功能,你的應用程序將基於某些系統事件觸發。

但是,當您的應用程序運行時發出呼叫時,您可以探索一些替代方案。


如果當電話打進來

可能可以報名參加(使用UINotificationCenter調用)從UITelephony接收通知您的應用程序正在運行。

但是,如果您在電話通話開始時主動使用您的應用程序,則在通話結束時將撥打-(void)applicationWillEnterForeground。至於區分電話通話結束與僅僅定期回覆電話,我不知道。但這是一個開始。

如果您的應用程序在運行時正在進行呼叫CoreTelephony Framework提供呼叫狀態。 CTCall類提供有關呼叫狀態的信息。我沒有用過這個,但是你可能會覺得它很有用。

extern NSString const *CTCallStateDialing; 
extern NSString const *CTCallStateIncoming; 
extern NSString const *CTCallStateConnected; 
extern NSString const *CTCallStateDisconnected; 
1

不,它不可能獲取iOS 5中,後來電話/短信/電子郵件日誌。

你可以,如果你想在iOS 4的實現這jailbroke

任何方式做到這一點,我有一個有用的信息HERE

+0

這真的是我期待很長一段時間.. –

0

如果設備沒有越獄,那麼在iOS中是不可能的。

iOS不允許任何應用程序攔截任何其他應用程序的工作。

相關問題