1. 程式人生 > >android中如何取得使用者手機的常用聯絡人(即收藏夾的聯絡人)

android中如何取得使用者手機的常用聯絡人(即收藏夾的聯絡人)

程式碼:

/**
* 獲得收藏夾的聯絡人
*/
private void getKeepedContacts(){
Cursor cur = getContentResolver().query(  
                ContactsContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.STARRED + " =  1 " , null, null);  
        startManagingCursor(cur);  
        int num = cur.getCount();
        System.out.println(num + "");
        int count = 0;
        while (cur.moveToNext()) {  
        count ++;
   
            long id = cur.getLong(cur.getColumnIndex("_id"));  
            Cursor pcur = getContentResolver().query(  
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,  
                    null,  
                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="  
                            + Long.toString(id), null, null);  
   
            // 處理多個號碼的情況  
            String phoneNumbers = "";  
            while (pcur.moveToNext()) {  
                String strPhoneNumber = pcur  
                        .getString(pcur  
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));  
                phoneNumbers += strPhoneNumber + ":";  
            }  
            phoneNumbers += "\n";  
            pcur.close();
            String name = cur.getString(cur.getColumnIndex("display_name"));
            contactNameList.add(name);
            contactNumList.add(phoneNumbers);
        }  
        cur.close();
}