【问题标题】:How to get the email contacts associated with my email account on device如何在设备上获取与我的电子邮件帐户关联的电子邮件联系人
【发布时间】:2014-10-29 08:08:03
【问题描述】:

我是第一次接触 stack-overflow,如果我不能正确解释这个问题或者没有以任何方式遵守这个社区的政策,请原谅我。

我的问题是: 今天早上我正在学习堆栈溢出,突然想到一个问题。假设我的电子邮件地址是 simran....@gmail.com,并且目前在我的设备中logged-In。那么如何获取与我的电子邮件帐户关联的所有电子邮件联系人。我的 gmail 帐户中添加了 200 多个 人,所以想在列表视图中显示这些人。

注意:我知道如何实现列表视图以及如何获取primary email 地址和其他登录我设备的电子邮件。

我需要什么:我想获取 simran....@gmail.com 的所有电子邮件联系人。这是可能的吗?如果答案是肯定的,那怎么办?我们可以在未经用户许可的情况下得到这个吗?

谢谢 西姆兰

【问题讨论】:

标签: android gmail google-contacts-api


【解决方案1】:

您可以使用此代码从您的联系人列表中获取所有电子邮件联系人 -

public ArrayList<String> getNameEmailDetails(){
        ArrayList<String> names = new ArrayList<String>();
        ContentResolver cr = getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                Cursor cur1 = cr.query( 
                        ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
                        ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
                                new String[]{id}, null); 
                while (cur1.moveToNext()) { 
                    //to get the contact names
                    String name=cur1.getString(cur1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                    Log.e("Name :", name);
                    String email = cur1.getString(cur1.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
                    Log.e("Email", email);
                    if(email!=null){
                        names.add(name);
                    }
                } 
                cur1.close();
            }
        }
        return names;
    }

希望对你有所帮助。

你必须添加权限 -

<uses-permission android:name="android.permission.READ_CONTACTS" />

如果没有这个许可,它似乎是不可能的。

【讨论】:

  • 它不会向名称和电子邮件返回任何内容。
猜你喜欢
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多