2011-03-05 42 views
1

我試圖通過使用CallLog.Calls內容提供程序來獲取通話記錄。但是,我對我需要做的查詢有點失落。我能夠進行查詢並將結果加載到ListView中。但查詢返回所有類型的調用。Android CallLog.Calls提供程序查詢問題

當然,我可以使用切換大小寫,並根據返回的調用類型採取適當的操作。但對於我的計劃,我只需要撥出電話記錄。

那麼,我該如何修改查詢以獲取僅傳出呼叫類型。 (我相信我必須在某處使用CallLog.Calls.OUTGOING_TYPE?)。我試圖以各種方式修改查詢,但我不斷收到錯誤。如果我嘗試提供CallLog.Calls.OUTGOING_TYPE作爲選擇參數,我會收到一個錯誤,因爲它是一個int類型,查詢會查找String類型。

我可能會錯過簡單的東西,但無法弄清楚。任何幫助將非常感激。謝謝。下面是我下面的查詢,

getContentResolver().query(CallLog.Calls.CONTENT_URI,null, null, null, ORDER_BY); 

回答

1

試試這個代碼片段:

Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, 
             CallLog.Calls.TYPE + "=?", 
             new String[] { String.valueOf(CallLog.Calls.OUTGOING_TYPE) }, 
             ORDER_BY); 
+0

感謝。這工作。 – redGREENblue 2011-03-07 04:51:39