调用电话簿中联系人的信息
1.联系人Uri:
uri:ContactsContract.CommonDataKinds.Phone.CONTENT_URI
2.联系人字段:
姓名:DISPLAY_NAME
电话:NUMBER
头像:PHOTO_URI
…
3.字段放入一个字符串数组中:
String[] str = new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Phone.PHOTO_URI};
4.内容提供者的查找,取出值
Cursor query = contentResolver.query(uri, strings, null, null, null);
while(query.moveToNext()){
…
}
5.总代码
//先获取内容提供者
ContentResolver contentResolver = getContentResolver();
//得到Uri
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
//所有字段放入字符串数组
String[] strings = new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.PHOTO_URI};
//查找
Cursor query = contentResolver.query(uri, strings, null, null, null);
//循环查找每一个人的信息
while (query.moveToNext()){
//获得联系人姓名
String name = query.getString(query.getColumnIndex("DISPLAY_NAME"));
//获得联系人电话
String number = query.getString(query.getColumnIndex("NUMBER")+2);
//获得联系人照片
String photo = query.getString(query.getColumnIndex("PHOTO_URI"));
}
//如果以上代码报下标越界,或是-1的话,请在 query.getColumnIndex("NUMBER") 后面 + 1或1以上
//+1为联系人姓名
//+2为联系人电话
//+3为联系人照片