android - 访问联系人过滤器

标签 android android-intent contacts

Android 手机上的联系人带有“过滤联系人”等设置,允许用户设置“仅显示有电话号码的联系人”和“仅显示在线的联系人”等内容,以及显示哪些联系人组(例如,仅限电话、电话和谷歌等)。

这样做的时候

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
startActivityForResult(intent, PICK_CONTACT);

有什么方法可以将这些过滤器应用于联系人列表?默认情况下它似乎返回所有内容。如果不能,是否有某种方法可以访问这些设置以查看它们是什么,这样我就可以构建自己的联系人选择器列表以匹配电话用户设置默认设置的方式?这只需要适用于 Android 2 以上版本。

(理想的选择是调用联系人选择器,让用户也可以从中设置过滤器。)

最佳答案

我想如果你将 URI 传递给 Intent ,就像所示的那样 here ,您应该能够应用您的过滤器。所以你会做这样的事情:

Intent intent = new Intent(Intent.ACTION_PICK, PhoneLookup.CONTENT_FILTER_URI);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
startActivityForResult(intent, PICK_CONTACT);

关于android - 访问联系人过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6137891/

相关文章:

java - 尝试与 Android Intent 共享图像

android - 如何获取联系人创建时间

android - 更新联系人显示名称

mysql - 如何使用 node.js 将 csv 文件导入 mysql?

java - 如何为 textView 设置值?

Android seekbar如何在短时间内阻止拖动/禁用它

android - NetworkOnmainThreadException android+Rxjava

android - 关于android中的共享首选项

java - Android Intent 中 SecondActivity.class 的正确含义?

Android - 接收推送通知并显示它 - 不太了解