ArrayList<HashMap<String, Object>> items = new ArrayList<HashMap<String, Object>>();
ContentResolver cr = getContentResolver();
HashMap<String, ArrayList<String>> hashMap = new HashMap<String, ArrayList<String>>();
Cursor phone = cr.query(CommonDataKinds.Phone.CONTENT_URI,
new String[] { CommonDataKinds.Phone.CONTACT_ID,
CommonDataKinds.Phone.DISPLAY_NAME,
CommonDataKinds.Phone.NUMBER,
CommonDataKinds.Phone.DATA1
// CommonDataKinds.StructuredPostal.DATA3,
}, null, null, null);
while (phone.moveToNext()) {
String contactId = phone.getString(phone
.getColumnIndex(CommonDataKinds.Phone.CONTACT_ID));
String displayName = phone.getString(phone
.getColumnIndex(CommonDataKinds.Phone.DISPLAY_NAME));
String PhoneNumber = phone
.getString(phone
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String address = phone.getString(phone
.getColumnIndex(CommonDataKinds.Phone.DATA1));
// 以contactId为主键,把同一人的所有电话都存到一起。
ArrayList<String> ad = hashMap.get(contactId);
if (ad == null) {
ad = new ArrayList<String>();
ad.add(displayName);
ad.add(PhoneNumber);
// ad.add(address);
hashMap.put(contactId, ad);
} else {
ad.add(PhoneNumber);
}
}
phone.close();
ArrayList<String> tmpList;
String tmpStr = "";
int k;
Iterator iter = hashMap.entrySet().iterator();
while (iter.hasNext()) {
HashMap.Entry entry = (HashMap.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();6
tmpList = (ArrayList) val;
tmpStr = "";
for (k = 1; k < tmpList.size(); k++) {
tmpStr = tmpStr + tmpList.get(k) + ',';
}
tmpStr = GetString(tmpStr);
HashMap<String, Object> tmpMap = new HashMap<String, Object>();
tmpMap.put("name", tmpList.get(0));
tmpMap.put("number", tmpStr);
tmpMap.put("imgView", R.drawable.ic_launcher);
items.add(tmpMap);
}
return items;
}
private String GetString(String str) {
String strLast = "";
int i = str.lastIndexOf(",");
if (i > 0) {
strLast = str.substring(0, str.length() - 1);
}
return strLast.replace(" ", "").replace(",", "\n").replace("+86", "");
}
高效获取联系人列表
最新推荐文章于 2022-11-09 17:56:58 发布