/**
* 获取所有的联系人数据 <uses-permission
* android:name="android.permission.READ_CONTACTS" />
*
* @return
*/
public static ArrayList<ContactsInfo> getAllContacts(Context context) {
ArrayList<ContactsInfo> infos = new ArrayList<ContactsInfo>();// 所有的数据
// 获取内容解析者
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;
}