public List<Map<String, Object>> getContact(){

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

//获得所有的联系人
Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
//循环遍历
if (cur.moveToFirst()) {
int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);

int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
do {

Map<String, Object> map = new HashMap<String, Object>();
map.put("choose", false);
//获得联系人的ID号
String contactId = cur.getString(idColumn);
//获得联系人姓名
String disPlayName = cur.getString(displayNameColumn);

map.put("textViewName", disPlayName);
System.out.println( "联系人姓名:" + disPlayName);

//查看该联系人有多少个电话号码。如果没有这返回值为0
String phoneNumber = "";
int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if(phoneCount>0){
//获得联系人的电话号码
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, null, null);
if(phones.moveToFirst()){
do{
//遍历所有的电话号码
phoneNumber= phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

System.out.println( "联系人电话:" + phoneNumber);
}while(phones.moveToNext());

map.put("textViewMobileNo", phoneNumber);
}
}

list.add(map);
} while (cur.moveToNext());

}
return list;
}

更多相关文章

  1. 打开android 系统联系人
  2. android 向系统通讯录添加一个联系人信息
  3. 读取联系人信息
  4. Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
  5. 使用Content Provider得到联系人信息
  6. Android通过ContentProvider往通讯录添加联系人和获取联系人

随机推荐

  1. flutter混编集成jitsi meet的记录
  2. Augmented Reality on Android: Using GP
  3. android分页查询获取系统联系人信息
  4. adb最新版下载地址
  5. Android Io 整理
  6. GitHub 上一些优秀的 Android(安卓)开源
  7. Android(安卓)一些指令
  8. Android 报错 FLAG_ACTIVITY_NEW_TASK fl
  9. Android Fragment 基本介绍
  10. Android FlowLayout