读取通讯录关键用到了ContentResolver、Cursor类。

直接贴代码:

ContentResolver contentResolver = getContentResolver();        Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);        if (cursor.moveToFirst()) { // 游标移到结果集第一个行        int idColumnIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID); // id列的索引值        int dispalyNameColumnIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); // 用户名列的索引值        do {        String contactId = cursor.getString(idColumnIndex); // 获取用户Id值        String displayName = cursor.getString(dispalyNameColumnIndex); //获取用户名值        int phoneNumberCount = cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); // 获取用户号码数量        if (phoneNumberCount > 0) {        Cursor phoneNumberCursor = getContentResolver().        query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,         ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null); // 获取当前用户号码结果集        if (phoneNumberCursor.moveToFirst()) { //游标移到所有号码结果集第一个行        do {        String phoneNumber = phoneNumberCursor.getString(phoneNumberCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); // 获取号码        } while (phoneNumberCursor.moveToNext());        }        phoneNumberCursor.close(); // 关闭游标        }        } while(cursor.moveToNext());         }        cursor.close(); // 关闭游标


更多相关文章

  1. Android 获取imei号码,获取手机型号和系统版本号
  2. Android自用-----系统自带app与用户app
  3. android严格验证手机号码
  4. Android 编程获取手机型号,本机电话号码,sdk版本及firmware版本号(
  5. android获取本机号码
  6. Android 4.0允许用户禁用所有系统自带程序
  7. android 获取本机号码及应加的权限 代码
  8. Android判断手机号码是否是正确的手机号码
  9. Pro Android 4 第六章 构建用户界面以及使用控件(一)

随机推荐

  1. Android(安卓)属性动画备忘 nineold
  2. Android 7.0后下载后自动打开安装包报错
  3. Android正确关闭线程
  4. ubuntu 下 配置 Android NDK开发环境
  5. Android下的JNI创建多线程的方法
  6. android handler.removeCallbacksAndMess
  7. android中XLIFF
  8. android UI设计之 背景透明色 项目资源文
  9. Android Animation开机动画的优化
  10. android 手机管理软件 发布开源代码