从Android中的电话号码获取电子邮件地址

时间:2012-10-14 15:45:36

标签: android cursor uri

我正在尝试根据他们的电话号码找到某人的电子邮件地址(假设他们将其存储在“通讯录”中)。

如果我想要这个人的名字或某事,我一直都很好:

Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
            Uri.encode(phoneNumber));
Cursor cur = getContentResolver().query(uri, null, null, null, null);
String name = cur.getString(cur.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);

但是,无法通过电子邮件数据库

使用电话号码进行搜索
Uri emailUri = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Email.CONTENT_LOOKUP_URI,
            Uri.encode(phoneNumber));
Cursor cur = getContentResolver().query(emailUri, null, null, null, null);
//Returns nothing, unless someone has the email +441234567891@hotmail.com or something

现在我可以使用CONTENT_FILTER_URI,并搜索我刚刚找到的人的名字......但是我可以得到2个John Smiths ......必须有一些方法才能加入PhoneLookup和电子邮件数据库?也许使用LOOKUP_KEY,或其他东西?

0 个答案:

没有答案