最近尝试了一下拉取手机通讯录中所有联系人的姓名,手机号码,地址,公司,邮箱等信息,在此做点小笔记,有需要的时候可以直接拿过来用,好了下面看看代码吧:

public void testGetAllContact() throws Throwable  {      //获取联系人信息的Uri      Uri uri = ContactsContract.Contacts.CONTENT_URI;      //获取ContentResolver      ContentResolver contentResolver = ContactListActivity.this.getContentResolver();      //查询数据,返回Cursor      Cursor cursor = contentResolver.query(uri, null, null, null, null);      List> list = new ArrayList>();      while(cursor.moveToNext())      {          Map map = new HashMap();          StringBuilder sb = new StringBuilder();          //获取联系人的ID          String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));          //获取联系人的姓名          String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));          //构造联系人信息          sb.append("contactId=").append(contactId).append(",Name=").append(name);          map.put("name", name);          String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));//联系人ID               //查询电话类型的数据操作          Cursor phones = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,                  null,                  ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,                  null, null);          while(phones.moveToNext())          {              String phoneNumber = phones.getString(phones.getColumnIndex(                      ContactsContract.CommonDataKinds.Phone.NUMBER));              //添加Phone的信息              sb.append(",Phone=").append(phoneNumber);              map.put("mobile", phoneNumber);          }          phones.close();              //查询Email类型的数据操作          Cursor emails = contentResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,                  null,                  ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId,                  null, null);          while (emails.moveToNext())          {              String emailAddress = emails.getString(emails.getColumnIndex(                      ContactsContract.CommonDataKinds.Email.DATA));              //添加Email的信息              sb.append(",Email=").append(emailAddress);              Log.e("emailAddress", emailAddress);              map.put("email", emailAddress);              }          emails.close();          //Log.i("=========ddddddddddd=====", sb.toString());            //查询==地址==类型的数据操作.StructuredPostal.TYPE_WORK          Cursor address = contentResolver.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,                  null,                  ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + contactId,                  null, null);          while (address.moveToNext())          {              String workAddress = address.getString(address.getColumnIndex(                      ContactsContract.CommonDataKinds.StructuredPostal.DATA));                  //添加Email的信息              sb.append(",address").append(workAddress);              map.put("address", workAddress);          }          address.close();          //Log.i("=========ddddddddddd=====", sb.toString());            //查询==公司名字==类型的数据操作.Organization.COMPANY  ContactsContract.Data.CONTENT_URI          String orgWhere = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?";           String[] orgWhereParams = new String[]{id,                   ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE};           Cursor orgCur = contentResolver.query(ContactsContract.Data.CONTENT_URI,                   null, orgWhere, orgWhereParams, null);           if (orgCur.moveToFirst()) {               //组织名 (公司名字)              String company = orgCur.getString(orgCur.getColumnIndex(ContactsContract.CommonDataKinds.Organization.DATA));               //职位               String title = orgCur.getString(orgCur.getColumnIndex(ContactsContract.CommonDataKinds.Organization.TITLE));               sb.append(",company").append(company);              sb.append(",title").append(title);              map.put("company", company);              map.put("title", title);          }           orgCur.close();           list.add(map);          Log.i("=========orgName=====", sb.toString());//查看所有的数据          Log.e("=========map=====", map.toString());//有很多数据的时候,只会添加一条  例如邮箱,      }        Log.i("=========list=====", list.toString());//      cursor.close();      } 


记得添加权限:

                                            

下面看看具体列子:

import java.util.ArrayList;  import java.util.List;    import org.json.JSONException;  import org.json.JSONObject;    import android.content.ContentResolver;  import android.content.Context;  import android.database.Cursor;  import android.net.Uri;  import android.provider.ContactsContract;  import android.provider.CallLog.Calls;  import android.provider.ContactsContract.CommonDataKinds.Email;  import android.provider.ContactsContract.CommonDataKinds.Event;  import android.provider.ContactsContract.CommonDataKinds.Im;  import android.provider.ContactsContract.CommonDataKinds.Nickname;  import android.provider.ContactsContract.CommonDataKinds.Note;  import android.provider.ContactsContract.CommonDataKinds.Organization;  import android.provider.ContactsContract.CommonDataKinds.Phone;  import android.provider.ContactsContract.CommonDataKinds.StructuredName;  import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;  import android.provider.ContactsContract.CommonDataKinds.Website;  import android.provider.ContactsContract.Contacts;  import android.provider.ContactsContract.Data;  import android.util.Log;    /**   *    * @author larson   *   */    public class ContactUtil {        public  List list;        private Context context;        private  JSONObject contactData;        private  JSONObject jsonObject;          public ContactUtil(Context context) {            this.context = context;        }          // ContactsContract.Contacts.CONTENT_URI= content://com.android.contacts/contacts;        // ContactsContract.Data.CONTENT_URI = content://com.android.contacts/data;          /**       * 获取联系人信息,并把数据转换成json数据       *        * @return       * @throws JSONException       */        public String getContactInfo() throws JSONException {            list = new ArrayList();            contactData = new JSONObject();            String mimetype = "";            int oldrid = -1;            int contactId = -1;            // 1.查询通讯录所有联系人信息,通过id排序,我们看下android联系人的表就知道,所有的联系人的数据是由RAW_CONTACT_ID来索引开的            // 所以,先获取所有的人的RAW_CONTACT_ID            Uri uri = ContactsContract.Data.CONTENT_URI; // 联系人Uri;            Cursor cursor = context.getContentResolver().query(uri,                    null, null, null, Data.RAW_CONTACT_ID);            int numm = 0;            while (cursor.moveToNext()) {                contactId = cursor.getInt(cursor                        .getColumnIndex(Data.RAW_CONTACT_ID));                if (oldrid != contactId) {                    jsonObject = new JSONObject();                    contactData.put("contact" + numm, jsonObject);                    numm++;                    oldrid = contactId;                }                mimetype = cursor.getString(cursor.getColumnIndex(Data.MIMETYPE)); // 取得mimetype类型,扩展的数据都在这个类型里面                // 1.1,拿到联系人的各种名字                if (StructuredName.CONTENT_ITEM_TYPE.equals(mimetype)) {                    cursor.getString(cursor                            .getColumnIndex(StructuredName.DISPLAY_NAME));                    String prefix = cursor.getString(cursor                            .getColumnIndex(StructuredName.PREFIX));                    jsonObject.put("prefix", prefix);                    String firstName = cursor.getString(cursor                            .getColumnIndex(StructuredName.FAMILY_NAME));                    jsonObject.put("firstName", firstName);                    String middleName = cursor.getString(cursor                            .getColumnIndex(StructuredName.MIDDLE_NAME));                    jsonObject.put("middleName", middleName);                    String lastname = cursor.getString(cursor                            .getColumnIndex(StructuredName.GIVEN_NAME));                    jsonObject.put("lastname", lastname);                    String suffix = cursor.getString(cursor                            .getColumnIndex(StructuredName.SUFFIX));                    jsonObject.put("suffix", suffix);                    String phoneticFirstName = cursor.getString(cursor                            .getColumnIndex(StructuredName.PHONETIC_FAMILY_NAME));                    jsonObject.put("phoneticFirstName", phoneticFirstName);                      String phoneticMiddleName = cursor.getString(cursor                            .getColumnIndex(StructuredName.PHONETIC_MIDDLE_NAME));                    jsonObject.put("phoneticMiddleName", phoneticMiddleName);                    String phoneticLastName = cursor.getString(cursor                            .getColumnIndex(StructuredName.PHONETIC_GIVEN_NAME));                    jsonObject.put("phoneticLastName", phoneticLastName);                }                // 1.2 获取各种电话信息                if (Phone.CONTENT_ITEM_TYPE.equals(mimetype)) {                    int phoneType = cursor                            .getInt(cursor.getColumnIndex(Phone.TYPE)); // 手机                    if (phoneType == Phone.TYPE_MOBILE) {                        String mobile = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("mobile", mobile);                    }                    // 住宅电话                    if (phoneType == Phone.TYPE_HOME) {                        String homeNum = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("homeNum", homeNum);                    }                    // 单位电话                    if (phoneType == Phone.TYPE_WORK) {                        String jobNum = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("jobNum", jobNum);                    }                    // 单位传真                    if (phoneType == Phone.TYPE_FAX_WORK) {                        String workFax = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("workFax", workFax);                    }                    // 住宅传真                    if (phoneType == Phone.TYPE_FAX_HOME) {                        String homeFax = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                          jsonObject.put("homeFax", homeFax);                    } // 寻呼机                    if (phoneType == Phone.TYPE_PAGER) {                        String pager = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("pager", pager);                    }                    // 回拨号码                    if (phoneType == Phone.TYPE_CALLBACK) {                        String quickNum = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("quickNum", quickNum);                    }                    // 公司总机                    if (phoneType == Phone.TYPE_COMPANY_MAIN) {                        String jobTel = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("jobTel", jobTel);                    }                    // 车载电话                    if (phoneType == Phone.TYPE_CAR) {                        String carNum = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("carNum", carNum);                    } // ISDN                    if (phoneType == Phone.TYPE_ISDN) {                        String isdn = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("isdn", isdn);                    } // 总机                    if (phoneType == Phone.TYPE_MAIN) {                        String tel = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("tel", tel);                    }                    // 无线装置                    if (phoneType == Phone.TYPE_RADIO) {                        String wirelessDev = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                          jsonObject.put("wirelessDev", wirelessDev);                    } // 电报                    if (phoneType == Phone.TYPE_TELEX) {                        String telegram = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("telegram", telegram);                    }                    // TTY_TDD                    if (phoneType == Phone.TYPE_TTY_TDD) {                        String tty_tdd = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("tty_tdd", tty_tdd);                    }                    // 单位手机                    if (phoneType == Phone.TYPE_WORK_MOBILE) {                        String jobMobile = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("jobMobile", jobMobile);                    }                    // 单位寻呼机                    if (phoneType == Phone.TYPE_WORK_PAGER) {                        String jobPager = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("jobPager", jobPager);                    } // 助理                    if (phoneType == Phone.TYPE_ASSISTANT) {                        String assistantNum = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("assistantNum", assistantNum);                    } // 彩信                    if (phoneType == Phone.TYPE_MMS) {                        String mms = cursor.getString(cursor                                .getColumnIndex(Phone.NUMBER));                        jsonObject.put("mms", mms);                    }                      String mobileEmail = cursor.getString(cursor                            .getColumnIndex(Email.DATA));                    jsonObject.put("mobileEmail", mobileEmail);                }            }            // 查找event地址            if (Event.CONTENT_ITEM_TYPE.equals(mimetype)) { // 取出时间类型                int eventType = cursor.getInt(cursor.getColumnIndex(Event.TYPE)); // 生日                if (eventType == Event.TYPE_BIRTHDAY) {                    String birthday = cursor.getString(cursor                            .getColumnIndex(Event.START_DATE));                    jsonObject.put("birthday", birthday);                }                // 周年纪念日                if (eventType == Event.TYPE_ANNIVERSARY) {                    String anniversary = cursor.getString(cursor                            .getColumnIndex(Event.START_DATE));                    jsonObject.put("anniversary", anniversary);                }            }            // 获取即时通讯消息            if (Im.CONTENT_ITEM_TYPE.equals(mimetype)) { // 取出即时消息类型                int protocal = cursor.getInt(cursor.getColumnIndex(Im.PROTOCOL));                if (Im.TYPE_CUSTOM == protocal) {                    String workMsg = cursor.getString(cursor                            .getColumnIndex(Im.DATA));                    jsonObject.put("workMsg", workMsg);                } else if (Im.PROTOCOL_MSN == protocal) {                    String workMsg = cursor.getString(cursor                            .getColumnIndex(Im.DATA));                    jsonObject.put("workMsg", workMsg);                }                if (Im.PROTOCOL_QQ == protocal) {                    String instantsMsg = cursor.getString(cursor                            .getColumnIndex(Im.DATA));                      jsonObject.put("instantsMsg", instantsMsg);                }            }            // 获取备注信息            if (Note.CONTENT_ITEM_TYPE.equals(mimetype)) {                String remark = cursor.getString(cursor.getColumnIndex(Note.NOTE));                jsonObject.put("remark", remark);            }            // 获取昵称信息            if (Nickname.CONTENT_ITEM_TYPE.equals(mimetype)) {                String nickName = cursor.getString(cursor                        .getColumnIndex(Nickname.NAME));                jsonObject.put("nickName", nickName);            }            // 获取组织信息            if (Organization.CONTENT_ITEM_TYPE.equals(mimetype)) { // 取出组织类型                int orgType = cursor.getInt(cursor                        .getColumnIndex(Organization.TYPE)); // 单位                if (orgType == Organization.TYPE_CUSTOM) { // if (orgType ==                    // Organization.TYPE_WORK)                    // {                    String company = cursor.getString(cursor                            .getColumnIndex(Organization.COMPANY));                    jsonObject.put("company", company);                    String jobTitle = cursor.getString(cursor                            .getColumnIndex(Organization.TITLE));                    jsonObject.put("jobTitle", jobTitle);                    String department = cursor.getString(cursor                            .getColumnIndex(Organization.DEPARTMENT));                    jsonObject.put("department", department);                }            }            // 获取网站信息            if (Website.CONTENT_ITEM_TYPE.equals(mimetype)) { // 取出组织类型                int webType = cursor.getInt(cursor.getColumnIndex(Website.TYPE)); // 主页                if (webType == Website.TYPE_CUSTOM) {                      String home = cursor.getString(cursor                            .getColumnIndex(Website.URL));                    jsonObject.put("home", home);                } // 主页                else if (webType == Website.TYPE_HOME) {                    String home = cursor.getString(cursor                            .getColumnIndex(Website.URL));                    jsonObject.put("home", home);                }                // 个人主页                if (webType == Website.TYPE_HOMEPAGE) {                    String homePage = cursor.getString(cursor                            .getColumnIndex(Website.URL));                    jsonObject.put("homePage", homePage);                }                // 工作主页                if (webType == Website.TYPE_WORK) {                    String workPage = cursor.getString(cursor                            .getColumnIndex(Website.URL));                    jsonObject.put("workPage", workPage);                }            }            // 查找通讯地址            if (StructuredPostal.CONTENT_ITEM_TYPE.equals(mimetype)) { // 取出邮件类型                int postalType = cursor.getInt(cursor                        .getColumnIndex(StructuredPostal.TYPE)); // 单位通讯地址                if (postalType == StructuredPostal.TYPE_WORK) {                    String street = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.STREET));                    jsonObject.put("street", street);                    String ciry = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.CITY));                    jsonObject.put("ciry", ciry);                    String box = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.POBOX));                    jsonObject.put("box", box);                    String area = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.NEIGHBORHOOD));                    jsonObject.put("area", area);                      String state = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.REGION));                    jsonObject.put("state", state);                    String zip = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.POSTCODE));                    jsonObject.put("zip", zip);                    String country = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.COUNTRY));                    jsonObject.put("country", country);                }                // 住宅通讯地址                if (postalType == StructuredPostal.TYPE_HOME) {                    String homeStreet = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.STREET));                    jsonObject.put("homeStreet", homeStreet);                    String homeCity = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.CITY));                    jsonObject.put("homeCity", homeCity);                    String homeBox = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.POBOX));                    jsonObject.put("homeBox", homeBox);                    String homeArea = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.NEIGHBORHOOD));                    jsonObject.put("homeArea", homeArea);                    String homeState = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.REGION));                    jsonObject.put("homeState", homeState);                    String homeZip = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.POSTCODE));                    jsonObject.put("homeZip", homeZip);                    String homeCountry = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.COUNTRY));                    jsonObject.put("homeCountry", homeCountry);                }                // 其他通讯地址                if (postalType == StructuredPostal.TYPE_OTHER) {                    String otherStreet = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.STREET));                    jsonObject.put("otherStreet", otherStreet);                      String otherCity = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.CITY));                    jsonObject.put("otherCity", otherCity);                    String otherBox = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.POBOX));                    jsonObject.put("otherBox", otherBox);                    String otherArea = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.NEIGHBORHOOD));                    jsonObject.put("otherArea", otherArea);                    String otherState = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.REGION));                    jsonObject.put("otherState", otherState);                    String otherZip = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.POSTCODE));                    jsonObject.put("otherZip", otherZip);                    String otherCountry = cursor.getString(cursor                            .getColumnIndex(StructuredPostal.COUNTRY));                    jsonObject.put("otherCountry", otherCountry);                }            }            cursor.close();            Log.i("contactData", contactData.toString());            return contactData.toString();        }      } 


直接可以运行:

import org.json.JSONException;  import org.json.JSONObject;    import android.app.Activity;  import android.database.Cursor;  import android.os.Bundle;  import android.provider.ContactsContract.CommonDataKinds.Email;  import android.provider.ContactsContract.CommonDataKinds.Event;  import android.provider.ContactsContract.CommonDataKinds.Im;  import android.provider.ContactsContract.CommonDataKinds.Nickname;  import android.provider.ContactsContract.CommonDataKinds.Note;  import android.provider.ContactsContract.CommonDataKinds.Organization;  import android.provider.ContactsContract.CommonDataKinds.Phone;  import android.provider.ContactsContract.CommonDataKinds.StructuredName;  import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;  import android.provider.ContactsContract.CommonDataKinds.Website;  import android.provider.ContactsContract.Data;  import android.util.Log;      public class MainActivity extends Activity {        private static final String TAG = "MainActivity";        private JSONObject contactData;      private JSONObject jsonObject;      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);          try {              getContactInfo();          } catch (JSONException e) {              // TODO Auto-generated catch block              e.printStackTrace();          }        }      public String getContactInfo() throws JSONException {          // 获得通讯录信息 ,URI是ContactsContract.Contacts.CONTENT_URI            contactData = new JSONObject();          String mimetype = "";          int oldrid = -1;          int contactId = -1;          Cursor cursor = getContentResolver().query(Data.CONTENT_URI,null, null, null, Data.RAW_CONTACT_ID);          int numm=0;          while (cursor.moveToNext()) {              contactId = cursor.getInt(cursor.getColumnIndex(Data.RAW_CONTACT_ID));               if (oldrid != contactId) {                  jsonObject = new JSONObject();                  contactData.put("contact" + numm, jsonObject);                  numm++;                  oldrid = contactId;              }                // 取得mimetype类型              mimetype = cursor.getString(cursor.getColumnIndex(Data.MIMETYPE));              // 获得通讯录中每个联系人的ID              // 获得通讯录中联系人的名字              if (StructuredName.CONTENT_ITEM_TYPE.equals(mimetype)) {                  //          String display_name = cursor.getString(cursor.getColumnIndex(StructuredName.DISPLAY_NAME));                  String prefix = cursor.getString(cursor.getColumnIndex(StructuredName.PREFIX));                  jsonObject.put("prefix", prefix);                  String firstName = cursor.getString(cursor.getColumnIndex(StructuredName.FAMILY_NAME));                  jsonObject.put("firstName", firstName);                  String middleName = cursor.getString(cursor.getColumnIndex(StructuredName.MIDDLE_NAME));                  jsonObject.put("middleName", middleName);                  String lastname = cursor.getString(cursor.getColumnIndex(StructuredName.GIVEN_NAME));                  jsonObject.put("lastname", lastname);                  String suffix = cursor.getString(cursor.getColumnIndex(StructuredName.SUFFIX));                  jsonObject.put("suffix", suffix);                  String phoneticFirstName = cursor.getString(cursor.getColumnIndex(StructuredName.PHONETIC_FAMILY_NAME));                  jsonObject.put("phoneticFirstName", phoneticFirstName);                  String phoneticMiddleName = cursor.getString(cursor.getColumnIndex(StructuredName.PHONETIC_MIDDLE_NAME));                  jsonObject.put("phoneticMiddleName", phoneticMiddleName);                  String phoneticLastName = cursor.getString(cursor.getColumnIndex(StructuredName.PHONETIC_GIVEN_NAME));                  jsonObject.put("phoneticLastName", phoneticLastName);              }              // 获取电话信息              if (Phone.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出电话类型                  int phoneType = cursor.getInt(cursor.getColumnIndex(Phone.TYPE));                  // 手机                  if (phoneType == Phone.TYPE_MOBILE) {                      String mobile = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("mobile", mobile);                  }                  // 住宅电话                  if (phoneType == Phone.TYPE_HOME) {                      String homeNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("homeNum", homeNum);                  }                  // 单位电话                  if (phoneType == Phone.TYPE_WORK) {                      String jobNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("jobNum", jobNum);                  }                  // 单位传真                  if (phoneType == Phone.TYPE_FAX_WORK) {                      String workFax = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("workFax", workFax);                  }                  // 住宅传真                  if (phoneType == Phone.TYPE_FAX_HOME) {                      String homeFax = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("homeFax", homeFax);                  }                  // 寻呼机                  if (phoneType == Phone.TYPE_PAGER) {                      String pager = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("pager", pager);                  }                  // 回拨号码                  if (phoneType == Phone.TYPE_CALLBACK) {                      String quickNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("quickNum", quickNum);                  }                  // 公司总机                  if (phoneType == Phone.TYPE_COMPANY_MAIN) {                      String jobTel = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("jobTel", jobTel);                  }                  // 车载电话                  if (phoneType == Phone.TYPE_CAR) {                      String carNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("carNum", carNum);                  }                  // ISDN                  if (phoneType == Phone.TYPE_ISDN) {                      String isdn = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("isdn", isdn);                  }                  // 总机                  if (phoneType == Phone.TYPE_MAIN) {                      String tel = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("tel", tel);                  }                  // 无线装置                  if (phoneType == Phone.TYPE_RADIO) {                      String wirelessDev = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("wirelessDev", wirelessDev);                  }                  // 电报                  if (phoneType == Phone.TYPE_TELEX) {                      String telegram = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("telegram", telegram);                  }                  // TTY_TDD                  if (phoneType == Phone.TYPE_TTY_TDD) {                      String tty_tdd = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("tty_tdd", tty_tdd);                  }                  // 单位手机                  if (phoneType == Phone.TYPE_WORK_MOBILE) {                      String jobMobile = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("jobMobile", jobMobile);                  }                  // 单位寻呼机                  if (phoneType == Phone.TYPE_WORK_PAGER) {                      String jobPager = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("jobPager", jobPager);                  }                  // 助理                  if (phoneType == Phone.TYPE_ASSISTANT) {                      String assistantNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("assistantNum", assistantNum);                  }                  // 彩信                  if (phoneType == Phone.TYPE_MMS) {                      String mms = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));                      jsonObject.put("mms", mms);                  }              }              // }              // 查找email地址              if (Email.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出邮件类型                  int emailType = cursor.getInt(cursor.getColumnIndex(Email.TYPE));                    // 住宅邮件地址                  if (emailType == Email.TYPE_CUSTOM) {                      String homeEmail = cursor.getString(cursor.getColumnIndex(Email.DATA));                      jsonObject.put("homeEmail", homeEmail);                  }                    // 住宅邮件地址                  else if (emailType == Email.TYPE_HOME) {                      String homeEmail = cursor.getString(cursor.getColumnIndex(Email.DATA));                      jsonObject.put("homeEmail", homeEmail);                  }                  // 单位邮件地址                  if (emailType == Email.TYPE_CUSTOM) {                      String jobEmail = cursor.getString(cursor.getColumnIndex(Email.DATA));                      jsonObject.put("jobEmail", jobEmail);                  }                    // 单位邮件地址                  else if (emailType == Email.TYPE_WORK) {                      String jobEmail = cursor.getString(cursor.getColumnIndex(Email.DATA));                      jsonObject.put("jobEmail", jobEmail);                  }                  // 手机邮件地址                  if (emailType == Email.TYPE_CUSTOM) {                      String mobileEmail = cursor.getString(cursor.getColumnIndex(Email.DATA));                      jsonObject.put("mobileEmail", mobileEmail);                  }                    // 手机邮件地址                  else if (emailType == Email.TYPE_MOBILE) {                      String mobileEmail = cursor.getString(cursor.getColumnIndex(Email.DATA));                      jsonObject.put("mobileEmail", mobileEmail);                  }              }              // 查找event地址              if (Event.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出时间类型                  int eventType = cursor.getInt(cursor.getColumnIndex(Event.TYPE));                  // 生日                  if (eventType == Event.TYPE_BIRTHDAY) {                      String birthday = cursor.getString(cursor.getColumnIndex(Event.START_DATE));                      jsonObject.put("birthday", birthday);                  }                  // 周年纪念日                  if (eventType == Event.TYPE_ANNIVERSARY) {                      String anniversary = cursor.getString(cursor.getColumnIndex(Event.START_DATE));                      jsonObject.put("anniversary", anniversary);                  }              }              // 即时消息              if (Im.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出即时消息类型                  int protocal = cursor.getInt(cursor.getColumnIndex(Im.PROTOCOL));                  if (Im.TYPE_CUSTOM == protocal) {                      String workMsg = cursor.getString(cursor.getColumnIndex(Im.DATA));                      jsonObject.put("workMsg", workMsg);                  }                    else if (Im.PROTOCOL_MSN == protocal) {                      String workMsg = cursor.getString(cursor.getColumnIndex(Im.DATA));                      jsonObject.put("workMsg", workMsg);                  }                  if (Im.PROTOCOL_QQ == protocal) {                      String instantsMsg = cursor.getString(cursor.getColumnIndex(Im.DATA));                      jsonObject.put("instantsMsg", instantsMsg);                  }              }              // 获取备注信息              if (Note.CONTENT_ITEM_TYPE.equals(mimetype)) {                  String remark = cursor.getString(cursor.getColumnIndex(Note.NOTE));                  jsonObject.put("remark", remark);              }              // 获取昵称信息              if (Nickname.CONTENT_ITEM_TYPE.equals(mimetype)) {                  String nickName = cursor.getString(cursor.getColumnIndex(Nickname.NAME));                  jsonObject.put("nickName", nickName);              }              // 获取组织信息              if (Organization.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出组织类型                  int orgType = cursor.getInt(cursor.getColumnIndex(Organization.TYPE));                  // 单位                  if (orgType == Organization.TYPE_CUSTOM) {                      //           if (orgType == Organization.TYPE_WORK) {                      String company = cursor.getString(cursor.getColumnIndex(Organization.COMPANY));                      jsonObject.put("company", company);                      String jobTitle = cursor.getString(cursor.getColumnIndex(Organization.TITLE));                      jsonObject.put("jobTitle", jobTitle);                      String department = cursor.getString(cursor.getColumnIndex(Organization.DEPARTMENT));                      jsonObject.put("department", department);                  }              }              // 获取网站信息              if (Website.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出组织类型                  int webType = cursor.getInt(cursor.getColumnIndex(Website.TYPE));                  // 主页                  if (webType == Website.TYPE_CUSTOM) {                      String home = cursor.getString(cursor.getColumnIndex(Website.URL));                      jsonObject.put("home", home);                  }                  // 主页                  else if (webType == Website.TYPE_HOME) {                      String home = cursor.getString(cursor.getColumnIndex(Website.URL));                      jsonObject.put("home", home);                  }                    // 个人主页                  if (webType == Website.TYPE_HOMEPAGE) {                      String homePage = cursor.getString(cursor.getColumnIndex(Website.URL));                      jsonObject.put("homePage", homePage);                  }                  // 工作主页                  if (webType == Website.TYPE_WORK) {                      String workPage = cursor.getString(cursor.getColumnIndex(Website.URL));                      jsonObject.put("workPage", workPage);                  }              }              // 查找通讯地址              if (StructuredPostal.CONTENT_ITEM_TYPE.equals(mimetype)) {                  // 取出邮件类型                  int postalType = cursor.getInt(cursor.getColumnIndex(StructuredPostal.TYPE));                  // 单位通讯地址                  if (postalType == StructuredPostal.TYPE_WORK) {                      String street = cursor.getString(cursor.getColumnIndex(StructuredPostal.STREET));                      jsonObject.put("street", street);                      String ciry = cursor.getString(cursor.getColumnIndex(StructuredPostal.CITY));                      jsonObject.put("ciry", ciry);                      String box = cursor.getString(cursor.getColumnIndex(StructuredPostal.POBOX));                      jsonObject.put("box", box);                      String area = cursor.getString(cursor.getColumnIndex(StructuredPostal.NEIGHBORHOOD));                      jsonObject.put("area", area);                      String state = cursor.getString(cursor.getColumnIndex(StructuredPostal.REGION));                      jsonObject.put("state", state);                      String zip = cursor.getString(cursor.getColumnIndex(StructuredPostal.POSTCODE));                      jsonObject.put("zip", zip);                      String country = cursor.getString(cursor.getColumnIndex(StructuredPostal.COUNTRY));                      jsonObject.put("country", country);                  }                  // 住宅通讯地址                  if (postalType == StructuredPostal.TYPE_HOME) {                      String homeStreet = cursor.getString(cursor.getColumnIndex(StructuredPostal.STREET));                      jsonObject.put("homeStreet", homeStreet);                      String homeCity = cursor.getString(cursor.getColumnIndex(StructuredPostal.CITY));                      jsonObject.put("homeCity", homeCity);                      String homeBox = cursor.getString(cursor.getColumnIndex(StructuredPostal.POBOX));                      jsonObject.put("homeBox", homeBox);                      String homeArea = cursor.getString(cursor.getColumnIndex(StructuredPostal.NEIGHBORHOOD));                      jsonObject.put("homeArea", homeArea);                      String homeState = cursor.getString(cursor.getColumnIndex(StructuredPostal.REGION));                      jsonObject.put("homeState", homeState);                      String homeZip = cursor.getString(cursor.getColumnIndex(StructuredPostal.POSTCODE));                      jsonObject.put("homeZip", homeZip);                      String homeCountry = cursor.getString(cursor.getColumnIndex(StructuredPostal.COUNTRY));                      jsonObject.put("homeCountry", homeCountry);                  }                  // 其他通讯地址                  if (postalType == StructuredPostal.TYPE_OTHER) {                      String otherStreet = cursor.getString(cursor.getColumnIndex(StructuredPostal.STREET));                      jsonObject.put("otherStreet", otherStreet);                      String otherCity = cursor.getString(cursor.getColumnIndex(StructuredPostal.CITY));                      jsonObject.put("otherCity", otherCity);                      String otherBox = cursor.getString(cursor.getColumnIndex(StructuredPostal.POBOX));                      jsonObject.put("otherBox", otherBox);                      String otherArea = cursor.getString(cursor.getColumnIndex(StructuredPostal.NEIGHBORHOOD));                      jsonObject.put("otherArea", otherArea);                      String otherState = cursor.getString(cursor.getColumnIndex(StructuredPostal.REGION));                      jsonObject.put("otherState", otherState);                      String otherZip = cursor.getString(cursor.getColumnIndex(StructuredPostal.POSTCODE));                      jsonObject.put("otherZip", otherZip);                      String otherCountry = cursor.getString(cursor.getColumnIndex(StructuredPostal.COUNTRY));                      jsonObject.put("otherCountry", otherCountry);                  }              }          }          cursor.close();          Log.i("contactData", contactData.toString());          return contactData.toString();      }  }  


更多相关文章

  1. Android(安卓)获取视频(本地、网络)的第一关键帧
  2. Android(安卓)ViewPager+Fragment 仿 Google Play 带箭头的导航
  3. Android(安卓)获取系统程序和应用程序
  4. android证书指纹的生成
  5. 【Android话题-2.5系统服务】ServiceManager启动和工作原理是怎
  6. Android(安卓)进程间通讯之通过Intent+bundle实现跨进程通讯
  7. Android(安卓)菜商品列表展示
  8. Android获取屏幕高度、状态栏高度、标题栏高度
  9. Android:实现带图片和CheckBox的ListView

随机推荐

  1. Android产品开发经验谈
  2. 编译android 之后生成的 img 文件介绍
  3. android中activity的四种加载模式
  4. 做android遇到有问题有感
  5. android - 模拟器连接本地tomcat
  6. Android(安卓)webview 应用
  7. android 菜单例子
  8. Chris:怎样成为一名Android应用开发者
  9. Android(安卓)如何让EditText不自动获取
  10. Android面试必备——Fragment