【发布时间】:2023-04-09 15:38:01
【问题描述】:
我的光标查询中的这个选择子句只返回那些有电话号码的联系人,这就是我想要的:
// we only want contacts that have a name and a phone number. If they have a phone number, the value is 1 (if not, it is 0)
ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" + ("1") + "'" + " AND " + ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1",
我的整个游标查询如下所示:
// this query only return contacts with phone number and is not duplicated
phones = getContentResolver().query(
// the table to query
ContactsContract.Contacts.CONTENT_URI,
// the columns to return
null,
// selection criteria :
// we only want contacts that have a name and a phone number. If they have a phone number, the value is 1 (if not, it is 0)
ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" + ("1") + "'" + " AND " + ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1",
// selection criteria
null,
// display in ascending order
ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
但我怎样才能获得每个联系人的实际电话号码?我可以在上面的代码中添加一些东西,还是需要开始一个新的 Cursor 查询?
我认为是后者。
我开始了一个新的光标查询作为起点:
phonestwo = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.IN_VISIBLE_GROUP + " = '" + ("1") + "'" + " AND " + ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER + "=1",
null,
null);
但是在 logcat 的日志中,我得到的电话光标有 134 条记录(正确,我想要的!),而我的电话光标有 196 条记录。简而言之,如何获取这 134 条记录对应的电话号码?
【问题讨论】:
标签: android cursor android-contacts