? ? 一般來說,實現(xiàn)的都是添加一個聯(lián)系人和對應的號碼,但如果想為一個聯(lián)系人添加多個號碼怎么辦,我找了半天都沒有解決方法,最后自己看別人的通訊錄得到啟發(fā),直接上代碼。大家互相幫助才能進步。
//往數(shù)據(jù)庫中新增聯(lián)系人
? ? public void AddContact(String name, String numberFirst,String numberSecond)
? ? {
? ? //創(chuàng)建一個空的ContentValues
? ? ? ? ContentValues values = new ContentValues();
? ? ? ? //首先向RawContacts.CONTENT_URI執(zhí)行一個空值插入,目的是獲取系統(tǒng)返回的rawContactId
? ? ? ? Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
? ? ? ? long rawContactId = ContentUris.parseId(rawContactUri);
? ? ? ? //往data表插入姓名數(shù)據(jù)
? ? ? ? values.clear();
? ? ? ? values.put(Data.RAW_CONTACT_ID, rawContactId);
? ? ? ? values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);//內容類型
? ? ? ? values.put(StructuredName.GIVEN_NAME, name);//設置聯(lián)系人名字 ?
? ? ? ? getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);//向聯(lián)系人URI添加聯(lián)系人名字
? ? ? ? //往data表插入電話數(shù)據(jù)
? ? ? ? values.clear();
? ? ? ? values.put(Data.RAW_CONTACT_ID, rawContactId);
? ? ? ? values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
? ? ? ? values.put(Phone.NUMBER, numberFirst);
? ? ? ? values.put(Phone.TYPE, Phone.TYPE_MOBILE);//插入手機號碼
? ? ? ? getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
? ? ? ? //往data表插入其他電話數(shù)據(jù)
? ? ? ? values.clear();
? ? ? ? values.put(Data.RAW_CONTACT_ID, rawContactId);
? ? ? ? values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
? ? ? ? values.put(Phone.NUMBER, numberSecond);
? ? ? ? values.put(Phone.TYPE, Phone.TYPE_OTHER);//插入除了其他號碼
? ? ? ? getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
? ? }