1. 程式人生 > >查詢手機內聯系人

查詢手機內聯系人

ext.get mime logs als cnblogs turn pub span phone

聯系人的創建查詢

public class Query {
    //查詢聯系人的方法
        public static List<Contact> queryContact(Context context){
            //創建一個集合對象
            List<Contact> contacts=new ArrayList<Contact>();
            //先查詢raw_contact表  這個表有幾條聯系人數據
            //由於聯系人數據通過內容提供者暴露出來,所以我們可以通過內容解析操作數據庫
Uri uri=Uri.parse("content://com.android.contacts/raw_contacts"); Uri dataUri=Uri.parse("content://com.android.contacts/data"); Cursor cursor=context.getContentResolver().query(uri,new String[]{"contact_id"},null,null,null); while (cursor.moveToNext()){ String contact_id
=cursor.getString(0); if (contact_id!=null){ Contact contact=new Contact(); contact.setId(contact_id); Cursor cursor1=context.getContentResolver().query(dataUri,new String[]{"data1","mimetype"},"raw_contact_id=?",new String[]{contact_id},null
); while (cursor1.moveToNext()){ String data1=cursor1.getString(0); String mimetype=cursor1.getString(1); //區分類型 if ("vnd.android.cursor.item/name".equals(mimetype)){ contact.setName(data1); } else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)){ contact.setPhone(data1); } } //把contact放入集合 contacts.add(contact); } } return contacts; } }

創建一個Contact封裝類

public class Contact {
    private String id;
    private String name;
    private String phone;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

查詢手機內聯系人