Android 获取通讯录联系人

来源:互联网 发布:ae mac破解版下载 编辑:程序博客网 时间:2024/05/22 07:03
public static Map<String,String> getAllCallRecords(Context context) {          Map<String,String> temp = new HashMap<String, String>();          Cursor c = context.getContentResolver().query(                  ContactsContract.Contacts.CONTENT_URI,                  null,                  null,                  null,                  ContactsContract.Contacts.DISPLAY_NAME                          + " COLLATE LOCALIZED ASC");          if (c.moveToFirst()) {              do {                  // 获得联系人的ID号                  String contactId = c.getString(c                          .getColumnIndex(ContactsContract.Contacts._ID));                  // 获得联系人姓名                  String name = c                          .getString(c                                  .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));                  // 查看该联系人有多少个电话号码。如果没有这返回值为0                  int phoneCount = c                          .getInt(c                                  .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));                  String number=null;                  if (phoneCount > 0) {                      // 获得联系人的电话号码                      Cursor phones = context.getContentResolver().query(                              ContactsContract.CommonDataKinds.Phone.CONTENT_URI,                              null,                              ContactsContract.CommonDataKinds.Phone.CONTACT_ID                                      + " = " + contactId, null, null);                      if (phones.moveToFirst()) {                          number = phones                                  .getString(phones                                  .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                          }                      phones.close();                  }                  temp.put(name, number);              } while (c.moveToNext());          }          c.close();          return temp;      }  

0 0
原创粉丝点击