直接看例子:
package com.msg.util;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.content.Context;import android.database.Cursor;import android.provider.ContactsContract;public class ToolUtil {private Context context;public ToolUtil(Context context) {this.context = context;}public List<Map<String, String>> getContactList() {List<Map<String, String>> items = new ArrayList<Map<String, String>>();Cursor cur = null;try {// Query using ContentResolver.query or Activity.managedQuerycur = this.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 usersdo {String contactId;String displayName;String phoneNumber = "";// Get the field valuescontactId = cur.getString(idColumn);displayName = cur.getString(displayNameColumn);// Get number of user's phoneNumbersint numberCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));if (numberCount > 0) {Cursor phones = this.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 numbersdo {phoneNumber += phones.getString(numberColumn)+ ",";} while (phones.moveToNext());}}// Add values to itemsMap<String, String> i = new HashMap<String, String>();i.put("name", displayName);i.put("key", phoneNumber);items.add(i);} while (cur.moveToNext());} else {Map<String, String> i = new HashMap<String, String>();i.put("name", "Your Phone");i.put("key", "Have No Contacts.");items.add(i);}} finally {if (cur != null)cur.close();}return items;}public String getPeople(String number) {String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER };// 将自己添加到 msPeers 中Cursor cursor = this.context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,projection, // Which columns to return.ContactsContract.CommonDataKinds.Phone.NUMBER + " = '"+ number + "'", // WHERE clause.null, // WHERE clause value substitutionnull); // Sort order.if (cursor != 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);// 这里提示// force// closereturn name;}}return "";}}

更多相关文章

  1. Android跳转系统联系人界面插入联系人 传真\地址\邮箱\职位\
  2. j2me to android 例子源码下载
  3. Android ListView例子详解
  4. Android开发-基本例子
  5. android 联系人数据库
  6. Android Contacts 联系人源码分析
  7. Android隐性Intent的例子
  8. Android联系人数据库全解析-2.0以上
  9. [转]Android选项卡(TabWidget)例子

随机推荐

  1. 如何绘制服装?动漫人物女生服装的画法
  2. Debian与Ubuntu到底有什么不同,应该如何选
  3. 新人如何绘制脚?动漫脚部画法步骤
  4. 【北亚数据恢复】DELL存储服务器硬盘坏道
  5. CG插画需要学习什么?学习CG插画技巧
  6. 系统学习 TypeScript(四)——变量声明的初
  7. php原生分页、查询构造器、文件上传后端
  8. 意派Epub360丨两会H5报道专题专访分享&场
  9. 原画设计如何学好?快速入门学习原画设计
  10. 如何练习人体?板绘人体练习技巧!