我研究了很多,显然这是解决这个问题的简单方法。我只想列出要在电话配置中标记的联系人。
我有这个实现,但它列出了所有联系人。
public void showVisibleContacts(){
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.IN_VISIBLE_GROUP
};
/* checked is visible or 0 not visible */
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);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
int columnName = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
Log.e("Contact: ", "columnName: " + columnName);
cursor.moveToNext();
}
}
有没有人解决过这个问题?可以帮忙吗?
修改:添加更多信息
实施例: 智能手机中的配置
从[联系人]
中的选项中访问配置第1步 http://bytefreaks.net/wp-content/uploads/2016/11/02-Select-Contacts-to-display-576x1024.png
第2步 http://bytefreaks.net/wp-content/uploads/2016/11/03-Make-sure-All-Contacts-is-selected-576x1024.png