首先要获取到读取联系人的权限 , 在AndroidManifest.xml文件中添加权限的
//首先要获取联系人的路径:
Cursor cursor = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
//循环读取
while(cursor.moveToNext()){
//获取每条联系人的ID
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//根据ID查询每条ID对应的联系人所有的信息
Cursor cursors = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
//根据ID查询每条数据
while(cursors.moveToNext()){
//读取手机联系人的姓名和电话号码
String name =cursors.getString(cursors.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String tell = cursors.getString(cursors.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//封装到类中
User user = new User();
user.setName(name); user.setTell(tell);
Log.e("log", name+tell);
//添加到list中 list.add(user); } }
我是根据地址,来获取联系人的ID,再通过id查询联系人对应的电话号码,居住地址,电子邮箱等