gpt4 book ai didi

java - Android:仅检索带号码的联系人

转载 作者:太空狗 更新时间:2023-10-29 16:21:08 25 4
gpt4 key购买 nike

我目前有以下代码来从地址簿中检索联系人:

Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor cursor = getContentResolver().query(uri, projection, selection, null, sortOrder);

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice,
cursor,
new String[] {ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts._ID},
new int[] { android.R.id.text1},0);
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
setListAdapter(adapter);

然而,这也会在我的 Nexus 4 上返回我的 facbook 联系人。我的选择有问题吗?

谢谢

最佳答案

您可以通过将 ContactsContract.Contacts.HAS_PHONE_NUMBER 添加到您的投影和选择来过滤您的查询结果以仅包含具有电话号码的联系人。

将您的第二个和第三个语句更改为如下所示:

String[] PROJECTION = { 
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.HAS_PHONE_NUMBER
};
String selection = "(" + ContactsContract.Contacts.IN_VISIBLE_GROUP +
" = '1' AND (" + ContactsContract.Contacts.HAS_PHONE_NUMBER + " != 0 ))";

生成的光标将只包含有电话号码的联系人。

关于java - Android:仅检索带号码的联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14542104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com