package wkk.demo3;
import android.content.Context;
import android.database.Cursor;
import android.provider.ContactsContract;
import java.util.ArrayList;
import java.util.List;
/**
* Created by wkk on 2016/5/17.
*/
public class PhoneContact {
private String name;
private List<String> namber_list;
private int _id;
public PhoneContact(String name, List<String> namber_list, int _id) {
this.name = name;
this.namber_list = namber_list;
this._id = _id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getNamber_list() {
return namber_list;
}
public void setNamber_list(List<String> namber_list) {
this.namber_list = namber_list;
}
public int get_id() {
return _id;
}
public void set_id(int _id) {
this._id = _id;
}
public static List<PhoneContact> readAllContacts(Context context) {
List<PhoneContact> list = new ArrayList<>();
List<String> list1 = null;
Cursor cursor = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
int contactIdIndex = 0;
int nameIndex = 0;
if (cursor.getCount() > 0) {
contactIdIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID);
nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
}
while (cursor.moveToNext()) {
String contactId = cursor.getString(contactIdIndex);
String name = cursor.getString(nameIndex);
Cursor phones = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
null, null);
int phoneIndex = 0;
if (phones.getCount() > 0) {
phoneIndex = phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
}
list1 = new ArrayList<>();
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phoneIndex);
list1.add(phoneNumber);
}
phones.close();
list.add(new PhoneContact(name, list1, Integer.parseInt(contactId)));
}
cursor.close();
return list;
}
}
使用方法:
List<PhoneContact> list = PhoneContact.readAllContacts(this);
权限:
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>