Android检索公司内部的联系人以建议像Gmail一样

时间:2016-12-08 08:57:46

标签: android google-contacts

我是Android新手,目前我可以从Google联系人中检索联系人列表和图片。但是,我的应用程序中的联系人列表不提供我公司内的电子邮件建议,例如Google Gmail应用程序。

我可以检索这些额外的电子邮件地址吗?

以下是检索联系人的代码

public ArrayList<String> getNameEmailDetails() {
    ArrayList<String> emlRecs = new ArrayList<String>();
    HashSet<String> emlRecsHS = new HashSet<String>();
    ContentResolver cr = getContentResolver();
    String[] PROJECTION = new String[] { ContactsContract.RawContacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME,
            ContactsContract.Contacts.PHOTO_ID,
            ContactsContract.CommonDataKinds.Email.DATA,
            ContactsContract.CommonDataKinds.Photo.CONTACT_ID };
    String order = "CASE WHEN "
            + ContactsContract.Contacts.DISPLAY_NAME
            + " NOT LIKE '%@%' THEN 1 ELSE 2 END, "
            + ContactsContract.Contacts.DISPLAY_NAME
            + ", "
            + ContactsContract.CommonDataKinds.Email.DATA
            + " COLLATE NOCASE";
    String filter = ContactsContract.CommonDataKinds.Email.DATA + " NOT LIKE ''";
    Cursor cur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, PROJECTION, filter, null, order);
    if (cur.moveToFirst()) {
        do {
            // names comes in hand sometimes
            String name = cur.getString(1);
            String email = cur.getString(3);
            String contact_id = cur.getString(4);
            Bitmap profilePic = openPhoto(Long.parseLong(contact_id));
            if (profilePic != null) {
                profileList.add(new WordMatchAdapterWithIMG.profileWithIMG(email, profilePic));
            }
        } while (cur.moveToNext());
    }

    cur.close();
    return emlRecs;
}

1 个答案:

答案 0 :(得分:0)

我建议您使用Google Contacts API

  

Google通讯录API允许客户端应用程序查看和更新​​用户的联系人。联系人存储在用户的Google帐户中;大多数Google服务都可以访问联系人列表。

要检索单个联系人,请将已授权的 GET 请求发送到该联系人的自我链接网址:

https://www.google.com/m8/feeds/contacts/ {USEREMAIL} /充满/ {的ContactID}

成功后,服务器会以 HTTP 200 OK 状态代码和请求的联系人条目进行回复。

public static ContactEntry retrieveContact(ContactsService myService){ ContactEntry联系= myService.getEntry(新网址(&#34; https://www.google.com/m8/feeds/contacts/default/full/contactId&#34;), ContactEntry.class); //对联系人做点什么 回复联系; }

有用的材料