本文主要是介绍android根据电话号码查询联系人名称,导出通讯录所有联系人的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*** 根据电话号码取得联系人姓名
*/
public static String getContactNameByPhoneNumber(Context context, String address) {
String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER };
// 将自己添加到 msPeers 中
Cursor cursor = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, // Which columns to return.
ContactsContract.CommonDataKinds.Phone.NUMBER + " = '"
+ address + "'", // WHERE clause.
null, // WHERE clause value substitution
null); // Sort order.
if (cursor == null) {
Log.d(TAG, "getPeople null");
return null;
}
for (int i = 0; i < cursor.getCount(); i++) {
cursor.moveToPosition(i);
// 取得联系人名字
int nameFieldColumnIndex = cursor
.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
String name = cursor.getString(nameFieldColumnIndex);
return name;
}
return null;
}
/**
* 获取所有联系人内容
* @param context
* @param address
* @return
*/
public static String getContacts(Context context) {
StringBuilder sb = new StringBuilder();
ContentResolver cr = context.getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);
if (cursor.moveToFirst()) {
do {
String contactId = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor
.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
//第一条不用换行
if(sb.length() == 0){
sb.append(name);
}else{
sb.append("\n" + name);
}
Cursor phones = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = " + contactId, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
// 添加Phone的信息
sb.append("\t").append(phoneNumber);
}
phones.close();
} while (cursor.moveToNext());
}
cursor.close();
return sb.toString();
转载自:http://www.cnblogs.com/zdz8207/archive/2012/11/09/2762893.html
这篇关于android根据电话号码查询联系人名称,导出通讯录所有联系人的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!