2009-12-30 129 views
3

我希望有一些代碼被通知任何傳入和傳出的語音通話。我需要抓住以下所有:Android語音通話記錄

  • 如果是呼入或呼出
  • 撥打的號碼,或來電呼叫者ID電話號碼通話的
  • 持續時間,或者如果它是一個未接來電

如果我可以獲得更多聯繫信息,特別是聯繫人姓名,如果電話號碼與電話聯繫人列表中的某個人相匹配,但該部分是可選的,那也將非常光滑。

一旦通話結束,我需要我的代碼才能獲取這些信息。也許我只是沒有尋找正確的術語,但我真的很難找到我如何完成這個任務的任何例子。

如果有人能夠提供一個代碼示例來完成此操作,以及在清單文件中需要的權限和任何類型的廣播接收器類型的設置,那就太好了。

回答

4

您應該能夠通過在清單中設置android.permission.PROCESS_OUTGOING_CALLS權限,通過偵聽android.intent.action.NEW_OUTGOING_CALL廣播事件來直接看電話。

我想這應該適用於其他設備;至少在我的HTC Hero中,這給了我一個包括被叫號碼,聯繫人姓名以及聯繫人URI和個人號碼被調用的全部額外信息。

至於混得來電或未接來電(實際上傳出呼叫)的完整信息,我相信馬克提到的解決方案是相關PhoneStateListener事件已被解僱後要監視更改的CallLog內容提供商或調查。