Android 向联系人名单新加联系人(添加名称和电话号码两项)

					//首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获取系统返回的rawContactId
					ContentValues values = new ContentValues();
					Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
					long rawContactId = ContentUris.parseId(rawContactUri);
					// 往data表插入姓名数据
					values.clear();
					values.put(Data.RAW_CONTACT_ID, rawContactId);
					values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);// 内容类型
					values.put(StructuredName.GIVEN_NAME, name.getText().toString());
					getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
					// 往data表插入电话数据
					values.clear();
					values.put(Data.RAW_CONTACT_ID, rawContactId);
					values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
					values.put(Phone.NUMBER, phone.getText().toString());
					values.put(Phone.TYPE, Phone.TYPE_MOBILE);
					getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);

核心代码就是这一段,我还是有些不明白,为什么不能一次插入联系人名字和电话而要分两次插入呢?为什么要添加Data.MIMETYPE呢,难道它是not null项吗?。ContactsContract类里面的内容太多,看API看得我糊里糊涂。 以后希望能继续研究。



你可能感兴趣的:(Android 向联系人名单新加联系人(添加名称和电话号码两项))