在ContentProvider基础(一)已经总结的很详细了
直接贴代码
public static void readContacts(Context context) {
List<String> contactsList = new ArrayList<String>();
Cursor cursor = null;
try {
cursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
//获取联系人姓名
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contactsList.add(name+"\n"+number);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (cursor != null) {
cursor.close();
}
}
}
注意事项:1.ContactsContract.CommonDataKinds.Phone已经对很多常量做了封装
2.需要权限 <uses-permission android.name="android.permission.READ_CONTACTS" />