Android 获取所有的联系人数据 工具类

  /**
    * 获取所有的联系人数据 
    *
    * @return
    */
   public static ArrayList getAllContacts(Context context) {
      ArrayList infos = new ArrayList();// 所有的数据
      // 获取内容解析者
      ContentResolver contentResolver = context.getContentResolver();
      // Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
      Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
      // 要查询的字段
      String[] projection = new String[] {
            ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,// 名字
            ContactsContract.CommonDataKinds.Phone.NUMBER, // 电话
            ContactsContract.CommonDataKinds.Phone.CONTACT_ID };// 联系人id


      // 参1 查询的uri 参2 要查询的字段 参3 查询的条件 参4 条件里?对应的值 参5 排序
      Cursor cursor = contentResolver
            .query(uri, projection, null, null, null);
      if (cursor != null) {
         while (cursor.moveToNext()) {
            String name = cursor.getString(0);
            String number = cursor.getString(1);
            int contactsId = cursor.getInt(2);
            ContactsInfo info = new ContactsInfo(name, number, contactsId);
            infos.add(info);
         }
         cursor.close();
      }
      return infos;
   }

 

你可能感兴趣的:(Android 获取所有的联系人数据 工具类)