2011-12-03 52 views
1

我創建了一個顯示電話通話記錄的活動(就像本地通話記錄一樣)。現在我想顯示每個條目旁邊的聯繫人圖片。要獲得上週通話記錄我用下面的查詢:Android:如何從通話記錄查詢中獲取聯繫人圖片

String[] projection = new String[] 
     { Calls.DATE, Calls.NUMBER, Calls.DURATION, Calls.CACHED_NAME, Calls.TYPE }; 

    Cursor mCur = activity.managedQuery(CallLog.Calls.CONTENT_URI, projection, Calls.DATE + ">?", new String[] 
     { String.valueOf(weekAgo.getTime()) }, Calls.DATE + " DESC"); 

不能找到一個很好的辦法讓每個條目的圖片。通過這個查詢,我可以獲得沒有聯繫人ID或照片ID指示的日誌數據。

任何方式從我有數據(如電話號碼)獲取聯繫人照片作爲位圖?我想要的圖片上的原生Android通話記錄如圖所示(即使它是一個同步...)

我使用SDK 8.(ContactsContract)

回答

0

CallLog內容提供商不記錄多少信息聯繫人,所以CallLog與聯繫人之間沒有關係。例如,如果用戶刪除聯繫人,該怎麼辦?如果CallLog持有某種硬標識符指向聯繫人,那麼這將導致CallLog中的某種外鍵衝突。

歡迎您使用CACHED_NAMECACHED_NUMBER_LABELCACHED_NUMBER_TYPE試圖找出與給定的呼叫關聯的聯繫人,但你需要處理,你不能找到這樣的接觸的情況下,要麼是因爲接觸不存在或聯繫人數據發生變化(例如,新的電話號碼)。

+0

我沒有問題,如果我找不到聯繫人。在我無法找到聯繫人的情況下,我將顯示默認圖片。關於如何使用緩存的電話號碼獲取配置文件默認圖片的任何示例? – Idan

相關問題