2011-07-01 112 views
0

有什麼辦法可以獲取日誌通話記錄(只有通話的持續時間)爲Android中的特定聯繫人。假設我的聯繫人列表中有「X」人,我想知道我們在過去幾天中談過的電話的時間長短(這是用戶給定的,可以是一天,一週,一個月等等)。通話記錄在Android中

我在搜索時遇到了這段代碼,但我認爲這可能只是給出了最後一次談話的細節。如果我錯了,請糾正。

String[] strFields = { 
     android.provider.CallLog.Calls.NUMBER, 
     android.provider.CallLog.Calls.TYPE, 
     android.provider.CallLog.Calls.CACHED_NAME, 
     android.provider.CallLog.Calls.CACHED_NUMBER_TYPE 
     }; 
    String strOrder = android.provider.CallLog.Calls.DATE + " DESC"; 

    Cursor mCallCursor = getContentResolver().query(
     android.provider.CallLog.Calls.CONTENT_URI, 
     strFields, null, null,strOrder); 

任何幫助將是巨大的:)

+0

如果將光標保持打開狀態,是否會出現問題?我的意思是說android系統會一直在管理它嗎? – Lukap

+0

看看這個鏈接。希望它能幫助你http://www.mobisoftinfotech.com/blog/android/androidcalllogdeletion/ –

回答

0

有可能有兩個辦法,

  1. 把正確的過濾器光標。
  2. 迭代光標以收集數據。
+0

嘿,謝謝你的回答。您能否告訴我該光標是否僅包含在Android設備的實際呼叫日誌應用中顯示的呼叫信息。我問這個問題的原因是我必須知道過去1周左右的通話時間的細節,但我認爲通話記錄中沒有包含這麼多的信息。我認爲它只包含了最近的20個通話詳細信息。 – Swati

+0

CallLog.Calls只給出最近的通話記錄,有沒有人知道是否有辦法獲得先前呼叫的呼叫記錄(如過去一個月或一週)。 – Swati

+1

我不認爲他們存儲他們可以提供所有的通話記錄。如果您真的需要,那麼您可以定期進行備份。如果上述回答解決了您的原始問題,則標記爲完整。 – Rajnikant