如何使用电子邮件和/或电话号码查询Android 2.x联系人?

让我们粗暴地使用各种花园的Android 2.x可见联系人ID /名称光标(通过ContactsContract):

Cursor c = getContentResolver().query(
  Contacts.CONTENT_URI,
  new String[] { Contacts._ID, Contacts.disPLAY_NAME },
  Contacts.IN_VISIBLE_GROUP + " = '1'",
  null,
  Contacts.disPLAY_NAME + " COLLATE LOCALIZED ASC"
);

有没有一种方法可以过滤此方法获取仅包含至少一个电子邮件和/或电话号码的联系人?

我看到可以使用Contacts.HAS_PHONE_NUMBER …,但是在任何地方都看不到HAS_EMAIL. (告诉我,这不会变得难看.)

解决方法:

在适当的内容提供者Uri上查询.例如,android.provider.ContactsContract.CommonDataKinds.Email可让您获取电子邮件地址,而其他列(例如IN_VISIBLE_GROUP)则隐式加入.

Here is a sample project演示了如何使用这些其他内容提供程序Uri值.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...