2011-05-06 34 views
1

我正在開發一個應用程序,其中存儲來自CallLog提供程序的通話記錄詳細信息。Android中的通話結束監聽程序

Android將呼叫日誌存儲在數據庫中,我正在從該數據庫複製新行。

現在我想在用戶結束通話時複製通話詳細信息。爲此,我使用了PhoneStateListener,用於偵聽狀態振鈴,摘機和空閒模式 ,但在呼叫結束後,空閒方法會多次呼叫,所以我不能使用它。

第二我使用ContentObserver爲呼叫日誌表,它給了我onChanged事件當Android插入呼叫細節,當時我將這些細節複製到我的數據庫。

是否正確使用ContentObserver? 有沒有其他方法可以獲得剛剛結束的新呼叫的詳細信息?

回答

4

這聽起來像是ContentObserver的有效使用。先前的嘗試是在這裏:Intent to be fired when a call ends?

我建議你去閒置方法,並簡單地跟蹤狀態的數據庫或變量或偏好(所以每當手機從OFFHOOK到IDLE你知道通話結束,但是當它從空閒到IDLE時你什麼都不做)。

祝你好運。