Android向通訊錄添加聯系人的一般方法
以一個簡單的例子加以說明,記得需要相應的權限:
測試代碼,關鍵的內容就在add函數里面。
package zhangphil.demo; import android.app.Activity; import android.content.ContentUris; import android.content.ContentValues; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Email; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.Data; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); addContact("zhangphil", "12345678901"); } // 一個添加聯系人信息的例子 public void addContact(String name, String phoneNumber) { // 創建一個空的ContentValues ContentValues values = new ContentValues(); // 向RawContacts.CONTENT_URI空值插入, // 先獲取Android系統返回的rawContactId // 后面要基於此id插入值 Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); // 內容類型 values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); // 聯系人名字 values.put(StructuredName.GIVEN_NAME, name); // 向聯系人URI添加聯系人名字 getContentResolver().insert(Data.CONTENT_URI, values); values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); // 聯系人的電話號碼 values.put(Phone.NUMBER, phoneNumber); // 電話類型 values.put(Phone.TYPE, Phone.TYPE_MOBILE); // 向聯系人電話號碼URI添加電話號碼 getContentResolver().insert(Data.CONTENT_URI, values); values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); // 聯系人的Email地址 values.put(Email.DATA, "zhangphil@xxx.com"); // 電子郵件的類型 values.put(Email.TYPE, Email.TYPE_WORK); // 向聯系人Email URI添加Email數據 getContentResolver().insert(Data.CONTENT_URI, values); Toast.makeText(this, "聯系人數據添加成功", Toast.LENGTH_SHORT).show(); } }