如何获得在Android的联系人 [英] How to get contacts in Android

查看:104
本文介绍了如何获得在Android的联系人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个开发的Andr​​oid平台编写手机短信的应用程序。为此,我需要得到联系人,最近联系人和组。请告诉我任何教程或如何做到这一点的code。当我们点击这三个按钮中应沿着与选择多个联系人的复选框接触。 谢谢你。

I am a developing an application for composing sms in android platform. For that i need to get "Contacts", "Recent Contacts" and "Groups". Please tell me any tutorial or the code of how to do it. When we click on any of these three buttons there should be contacts along with a checkbox for selecting multiple contacts. Thanks.

推荐答案

这里是code获得接触编程

here is the code to get contacts programmatically

    ContentResolver cr = getContentResolver();
     Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
    null, null, null);
  String id = null, name = null, email = null, phone = null, note = null, orgName =     null, title = null;
  String Phone1 = "unknown", Phone2 = "unknown", Phone3 = "unknown", type1 = "unknown",        type2 = "unknown", type3 = "unknown";
  int size = cur.getCount();
if (cur.getCount() > 0) {
    int cnt = 1;
    while (cur.moveToNext())
    {
        email = "";
        name = "";
        cnt++;
        id = cur.getString(cur
                .getColumnIndex(ContactsContract.Contacts._ID));
        name = cur
                .getString(cur
                        .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

        if (name != null && name != "") {
            if (!checkEmail(name)) {
                email = "";

            } else {
                email = name;
                name = "";
            }
        }
        if (Integer
                .parseInt(cur.getString(cur
                        .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0)

        {
            System.out.println("name : " + name);
            Cursor pCur = cr
                    .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                            null,
                            ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                    + " = ?", new String[] { id },
                            null);

            Phone1 = " ";
            Phone2 = " ";
            Phone3 = " ";
            while (pCur.moveToNext())
            {
                String phonetype = pCur
                        .getString(pCur
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
                String MainNumber = pCur
                        .getString(pCur
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                if (phonetype.equalsIgnoreCase("1")) {
                    Phone1 = MainNumber;
                    type1 = "home";
                } else if (phonetype.equalsIgnoreCase("2")) {
                    Phone2 = MainNumber;
                    type2 = "mobile";
                } else {
                    Phone3 = MainNumber;
                    type3 = "work";
                }
            }
            pCur.close();

        }
            Cursor addrCur = cr
                    .query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,
                            null,
                            ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID
                                    + " = ?", new String[] { id },
                            null);
            if (addrCur.getCount() == 0) {
                addbuffer.append("unknown");
            } else {
                int cntr = 0;
                while (addrCur.moveToNext()) {

                    cntr++;
                    String poBox = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
                    if (poBox == null) {
                        poBox = " ";
                    }
                    String street = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
                    if (street == null) {
                        street = " ";
                    }
                    String neb = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.NEIGHBORHOOD));
                    if (neb == null) {
                        neb = " ";
                    }
                    String city = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
                    if (city == null) {
                        city = " ";
                    }
                    String state = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
                    if (state == null) {
                        state = " ";
                    }
                    String postalCode = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
                    if (postalCode == null) {
                        postalCode = " ";
                    }
                    String country = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
                    if (country == null) {
                        country = " ";
                    }

                    String type = addrCur
                            .getString(addrCur
                                    .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
                    if (type == null) {
                        type = " ";
                    }
                }

            }

            addrCur.close();

            String noteWhere = ContactsContract.Data.CONTACT_ID
                    + " = ? AND " + ContactsContract.Data.MIMETYPE
                    + " = ?";
            String[] noteWhereParams = new String[] {
                    id,
                    ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE };
            Cursor noteCur = cr.query(
                    ContactsContract.Data.CONTENT_URI, null,
                    noteWhere, noteWhereParams, null);

            note = " ";

            if (noteCur.moveToFirst()) {
                note = noteCur
                        .getString(noteCur
                                .getColumnIndex(ContactsContract.CommonDataKinds.Note.NOTE));

                if (note == null) {
                    note = " ";
                }
            }
            noteCur.close();
            String orgWhere = ContactsContract.Data.CONTACT_ID
                    + " = ? AND " + ContactsContract.Data.MIMETYPE
                    + " = ?";
            String[] orgWhereParams = new String[] {
                    id,
                    ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE };
            Cursor orgCur = cr.query(
                    ContactsContract.Data.CONTENT_URI, null,
                    orgWhere, orgWhereParams, null);
            orgName = " ";
            if (orgCur.moveToFirst()) {
                orgName = orgCur
                        .getString(orgCur
                                .getColumnIndex(ContactsContract.CommonDataKinds.Organization.COMPANY));

            }
            if (orgName == null) {
                orgName = " ";
            }
            orgCur.close();

            Cursor emailCur = cr
                    .query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
                            null,
                            ContactsContract.CommonDataKinds.Email.CONTACT_ID
                                    + " = ?", new String[] { id },
                            null);
            email = "unknown";
            while (emailCur.moveToNext()) {

                email = emailCur
                        .getString(emailCur
                                .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
                String emailType = emailCur
                        .getString(emailCur
                                .getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));

                if (email == null) {
                    email = "unknown";
                }
                if (emailType.equalsIgnoreCase("1")) {
                } else {
                }
            }

            // add
            emailCur.close();

这篇关于如何获得在Android的联系人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆