android获取通讯录
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;
}
更多相关文章
- 打开android 系统联系人
- android 向系统通讯录添加一个联系人信息
- 读取联系人信息
- Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
- 使用Content Provider得到联系人信息
- Android通过ContentProvider往通讯录添加联系人和获取联系人