通过内容解析者向联系人数据库插入联系人
- 插入联系人的步骤
- 先往raw_contacts 表插入数据 更新contact_id
- 在往data表里面插入数据
public void insert(View view) { String name = et1.getText().toString().trim(); String phone = et2.getText().toString().trim(); String email = et3.getText().toString().trim(); Uri uri = Uri.parse("content://com.android.contacts/raw_contacts"); Uri dataUri = Uri.parse("content://com.android.contacts/data"); Cursor cursor = getContentResolver().query(uri, null, null, null, null); int count = cursor.getCount(); int raw_contact_id = count + 1; Log.e(TAG, "insert: " + raw_contact_id); ContentValues values = new ContentValues(); values.put("contact_id", raw_contact_id); getContentResolver().insert(uri, values); ContentValues values1 = new ContentValues(); values1.put("data1", name); values1.put("raw_contact_id", raw_contact_id); values1.put("mimetype", "vnd.android.cursor.item/name"); getContentResolver().insert(dataUri, values1); ContentValues values2 = new ContentValues(); values2.put("data1", phone); values2.put("raw_contact_id", raw_contact_id); values2.put("mimetype", "vnd.android.cursor.item/phone_v2"); getContentResolver().insert(dataUri, values2); ContentValues values3 = new ContentValues(); values3.put("data1", email); values3.put("raw_contact_id", raw_contact_id); values3.put("mimetype", "vnd.android.cursor.item/email_v2"); getContentResolver().insert(dataUri, values3); }