2011-12-03 15 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の表示なしでログデータを取得します。

私は持っているデータ(電話番号のようなもの)から写真をビットマップとして取得する方法はありますか?ネイティブアンドロイドコールログに示すように、私は私が

答えて

0

CallLogコンテンツプロバイダは、について多くの情報を記録しませんSDK 8.(ContactsContract)を使用しています

(それが1を同期していても場合...)絵が欲しいです連絡先はCallLogと連絡先の間には関係性の関係はありません。たとえば、ユーザーが連絡先を削除するとどうなりますか? CallLogに連絡先を指し示す何らかの種類のハード識別子が保持されていた場合、それはCallLogに何らかの種類の外部キー違反を引き起こします。

あなたが与えられたコールに関連付けられている連絡先を見つけようとするCACHED_NAMECACHED_NUMBER_LABEL、およびCACHED_NUMBER_TYPEを利用できますが、あなたは、あなたがそのような接触を見つけることができない場合に対処する必要があり、どちらかの接触が存在しないためか、連絡先データが変更されました(たとえば、新しい電話番号)。

+0

連絡先が見つからない場合は問題ありません。連絡先が見つからない場合、私はデフォルトの画像を表示します。キャッシュされた電話番号を使用してプロファイルのデフォルト画像を取得するにはどうすればよいですか? – Idan

関連する問題