您的位置:首页 > 移动开发 > Android开发

Android项目--浅析系统通讯录中的那些方法

2014-06-10 18:36 375 查看
系统通讯录,以前的版本虽然过时了,不过有些东西还是可以用。

1.开启系统联系人添加

/** 添加联系人 */
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.dir/person");
intent.setType("vnd.android.cursor.dir/contact");
intent.setType("vnd.android.cursor.dir/raw_contact");
startActivity(intent);


2.向系统通讯录中添加联系人

ContentResolver cr = getContentResolver();
// 向原始联系人表插入数据
ContentValues values = new ContentValues();
Uri uri = cr.insert(RawContacts.CONTENT_URI, values);
// 从返回的uri中,解析新插入联系人的 联系人id
long raw_contact_id = ContentUris.parseId(uri);
values.clear();
values.put(StructuredName.RAW_CONTACT_ID, raw_contact_id);
values.put(StructuredName.DISPLAY_NAME, myname);
// values.put("title", myname);
values.put(StructuredName.MIMETYPE,
StructuredName.CONTENT_ITEM_TYPE);
uri = cr.insert(Data.CONTENT_URI, values);
values.clear();
values.put(Phone.RAW_CONTACT_ID, raw_contact_id);
values.put(Phone.NUMBER, mynumber);
values.put(Phone.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.TYPE, Phone.TYPE_HOME);
uri = cr.insert(Data.CONTENT_URI, values);


3.获取联系人头像

// 获取联系人头像
Uri uri = ContentUris.withAppendedId(
ContactsContract.Contacts.CONTENT_URI, contact.getContactId());
InputStream is = ContactsContract.Contacts.openContactPhotoInputStream(
context.getContentResolver(), uri);
Bitmap contactPhoto = BitmapFactory.decodeStream(is);
if (contact.getPhotoId() == 0) {
holder.img_photo.setImageResource(R.drawable.touxiang);
} else {
holder.img_photo.setImageBitmap(contactPhoto);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: