操做联系人

public class ContactsDao {
 private Context context;
 // 联系人信息名字
 private static String display_name;
 // // 联系人信息ID
 private static String contactId;
 // 联系人信息Uri
 private static Uri contentUri;
 // 联系人号码Uri字段
 private static Uri phoneContentUri;
 // 联系人的号码ID字段
 private static String contactId2;
 // 联系人号码字段
 private static String contactNum;
 // 联系人邮箱的Uri
 private static Uri contactEmailUri;
 // 联系人邮箱字段
 private static String contactEmailData;
 // 联系人邮箱ID字段
 private static String contactEmailID; android

 static {
  contentUri = ContactsContract.Contacts.CONTENT_URI;
  phoneContentUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
  contactEmailUri = ContactsContract.CommonDataKinds.Email.CONTENT_URI;
  display_name = ContactsContract.Contacts.DISPLAY_NAME;
  contactId = ContactsContract.Contacts._ID;
  contactId2 = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
  contactNum = ContactsContract.CommonDataKinds.Phone.NUMBER;
  contactEmailID = ContactsContract.CommonDataKinds.Email.CONTACT_ID;
  contactEmailData = ContactsContract.CommonDataKinds.Email.DATA;
 } this

 public ContactsDao(Context context) {
  super();
  this.context = context;
 } get

 public Cursor findLocalContacts() {
  Cursor cursor = context.getContentResolver().query(contentUri, null, null, null, null);
  // 联系人名字
  String displayName = cursor.getString(cursor.getColumnIndex(display_name));
  // 联系人ID
  String contactsID = cursor.getString(cursor.getColumnIndex(contactId));
  // 使用ContentResolver查找联系人电话号码
  Cursor phones = context.getContentResolver().query(phoneContentUri, null, contactId2 + "=" + contactsID, null, null); io

  // 遍历查询结果,获取联系人的多个号码
  while (phones.moveToNext()) {
   phones.getString(phones.getColumnIndex(contactNum));
  }
  phones.close(); class

  // 使用ContentResolver查找联系人联系人邮箱
  Cursor emails = context.getContentResolver().query(contactEmailUri, null, contactEmailID + "=" + contactsID, null, null);
  while (emails.moveToNext()) {
   emails.getString(emails.getColumnIndex(contactEmailData));
  }
  emails.close();
  cursor.close(); email

  return cursor;
 } 遍历

 private void insetLocalContacts() {
  // 建立一个空的ContantValues
  ContentValues values = new ContentValues();
  // 向RawContacts.CONTENT_URI执行空值插入,获取系统返回的rawContactId
  Uri rawContactUri = context.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, "请输入姓名");
  // 向联系人URI添加联系人姓名
  context.getContentResolver().insert(ContactsContract.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, "联系人电话");
  values.put(Phone.TYPE, Phone.TYPE_MOBILE);
  // 向联系人URI添加联系人电话
  context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
  values.clear(); static

  // *****************添加联系人邮箱***************
  values.put(Data.RAW_CONTACT_ID, rawContactId);
  values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
  values.put(Email.DATA, "请输入邮箱");
  values.put(Email.TYPE, Email.TYPE_WORK);
  context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);

 } }

    <!-- 读取联系人权限 -->     <uses-permission android:name="android.permission.READ_CONTACTS" />     <!-- 写入联系人的权限 -->     <!-- <uses-permission android:name="android.permission.WRITE_CONTACTS" /> -->
相关文章
相关标签/搜索