安桌获取手机联系人的电话与email

来源:互联网 发布:阿里云产品体系介绍 编辑:程序博客网 时间:2024/04/30 10:58

 

 

2.x  的 Content provider 已经解成 ContactsContract.Contacts

所以, 要获取 contact2 数据库中的 contacts 直接使用

ContactsContract.Contacts.CONTENT_URI  provider

 

如果查询其指定联系人ID 的所有电话号码的话,则要用

ContactsContract.CommonDataKinds.Phone.CONTENT_URI

 

查询指定联系人ID 的所有email 则使用

ContactsContract.CommonDataKinds.Email.CONTENT_URI

 

电话号码的字段序列

getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)

 

邮箱的字段序列

getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)

 

public List<ContactsPeople> getContactsEx() {List<ContactsPeople> peoples = new ArrayList<ContactsPeople>();Cursor cursor = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);int idindex = cursor.getColumnIndex(ContactsContract.Contacts._ID);int nameindex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);ContactsPeople people = null;cursor.moveToFirst();while (cursor.moveToNext()) {// 得到联系人的ID号int contactid = cursor.getInt(idindex);// 得到联系人姓名String contactName = cursor.getString(nameindex);// 接下来查询号码Cursor phoneNumberCursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="+ contactid, null, null);people = new ContactsPeople();people.setContactid(contactid);people.setName(contactName);// 得到此系统人的所有电话号码while (phoneNumberCursor.moveToNext()) {String phonenumber = phoneNumberCursor.getString(phoneNumberCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));people.getPhones().add(phonenumber);}// 得到此系统的 email 地址Cursor emailCursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID + "="+ contactid, null, null);while (emailCursor.moveToNext()) {String email = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));people.getEmails().add(email);}peoples.add(people);}return peoples;}


domain 类

 

public class ContactsPeople {private int contactid;private String name; private List<String> phones= new ArrayList<String>();private List<String> emails=new ArrayList<String>();public int getContactid() {return contactid;}public void setContactid(int contactid) {this.contactid = contactid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public List<String> getPhones() {return phones;}public void setPhones(List<String> phones) {this.phones = phones;}public List<String> getEmails() {return emails;}public void setEmails(List<String> emails) {this.emails = emails;}


 

 

 

 

 

0 0