应使用ContactsContract.CommonDataKinds.Phone.CONTENT_URI而不使用ContactsContract.Contacts.CONTENT_URI
否则在读取号码时会没有对应的列崩溃
ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); if(cursor!=null){ cursor.moveToFirst(); do { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); stringList.add(name+"\n"+number); }while (cursor.moveToNext()); } adapter.notifyDataSetChanged(); cursor.close();