扩展阅读:
用PhoneLookup进行电话号码查询
http://hubingforever.blog.163.com/blog/static/1710405792010584341058/
http://www.cnblogs.com/over140/archive/2011/06/29/2091541.html
经实际验证,以下工具方法,有点不理想,但可以参照。
主配置文件中,增加权限
工具类方法
终于熬出来了。
速度有所提升。
在附件中,解压密码:over
扩展阅读:
[url=http://www.cnblogs.com/lycoris/archive/2011/05/13/2037716.html ]android Contacts使用[/url]
用PhoneLookup进行电话号码查询
http://hubingforever.blog.163.com/blog/static/1710405792010584341058/
http://www.cnblogs.com/over140/archive/2011/06/29/2091541.html
经实际验证,以下工具方法,有点不理想,但可以参照。
主配置文件中,增加权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
工具类方法
public static List<Map<String, String>> getTelAndNameMaps(Context context) {
List<Map<String, String>> items = new ArrayList<Map<String, String>>();
Cursor cur = null;
try {
// Query using ContentResolver.query or Activity.managedQuery
cur = context.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);
// Iterate all users
do {
String contactId;
String displayName;
String phoneNumber = "";
// Get the field values
contactId = cur.getString(idColumn);
displayName = cur.getString(displayNameColumn);
// Get number of user's phoneNumbers
int numberCount = cur.getInt(cur.getColumnIndex(
ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (numberCount>0) {
Cursor phones = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = " + contactId
/*+ " and " + ContactsContract.CommonDataKinds.Phone.TYPE
+ "=" + ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE*/,
null, null);
if (phones.moveToFirst()) {
int numberColumn = phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER);
// Iterate all numbers
do {
phoneNumber += phones.getString(numberColumn) + " ";
} while (phones.moveToNext());
}
}
// Add values to items
HashMap<String, String> i = new HashMap<String, String>();
i.put("name", displayName.trim());
i.put("tel", phoneNumber.trim());
items.add(i);
} while (cur.moveToNext());
} else {
HashMap<String, String> i = new HashMap<String, String>();
i.put("name", "Your Phone");
i.put("tel", "Have No Contacts.");
items.add(i);
}
} finally {
if (cur != null)
cur.close();
}
return items;
}
终于熬出来了。
速度有所提升。
在附件中,解压密码:over
扩展阅读:
[url=http://www.cnblogs.com/lycoris/archive/2011/05/13/2037716.html ]android Contacts使用[/url]