我有一個應用程序,我想顯示的聯繫人按受歡迎程度排序,例如調用該聯繫人的次數。另一種選擇:按照任何人的照片排序。我希望在沒有用戶選擇的情況下自動完成!我將不勝感激任何幫助!即使在部分答案!得到的聯繫人按熱門程度排序
謝謝!
我有一個應用程序,我想顯示的聯繫人按受歡迎程度排序,例如調用該聯繫人的次數。另一種選擇:按照任何人的照片排序。我希望在沒有用戶選擇的情況下自動完成!我將不勝感激任何幫助!即使在部分答案!得到的聯繫人按熱門程度排序
謝謝!
使用此查詢
ContentResolver cr = getContentResolver();
Cursor cur2 = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, "times_contacted desc");
cur2.moveToFirst();
int name=cur2.getColumnIndex("display_name");
for(int i=0;i<cur2.getCount();i++){
Log.v("name",""+cur2.getString(name));
Log.v("times",""+cur2.getString(0));
cur2.moveToNext();
}
謝謝 它真的幫了大忙! 我如何根據誰有圖片來排序 - 即:放在頂部,那些有圖片的人 – user1458530
如果聯繫人存儲在您需要添加額外的列,你會把在次接觸被稱爲號碼的數據庫。
當用戶撥打電話時,您需要添加一些代碼以將「聯繫人被呼叫次數」中存儲的值遞增+1。
當您列出聯繫人時,只需按「聯繫人被呼叫的次數」列對其進行排序。
我們DONOT有任何這樣的列,檢查接觸是否有照片或不... BT就可以獲取聯繫人照片EACT接觸,如果它exsists然後將其放置在頂部,否則不..
使用本代碼來獲取照片:(只傳遞內容分解器和每個聯繫人的ID)
public static Bitmap loadContactPhoto(ContentResolver cr, long id) {
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
// InputStream input = ContactsContract.Contacts.Photo
if (input == null) {
return null;
}
return BitmapFactory.decodeStream(input);
請提供一些自己的代碼,以便我們提供幫助。 – mariomario
android聯繫人數據庫有一個列作爲times_contacted,它保存有關多少個電話已與特定聯繫人進行了.. – Anu