0

Я знаю, как получить все контакты, а также как получить избранные контакты. Есть ли способ объединить два и отсортировать по избранным?Android: Показать все контакты, отсортированные по избранным

getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, "starred=?", new String[] {"1"}, <sort by favorites?>); 

ответ

1

Попытайтесь использовать этот запрос, чтобы получить заказ всех контактов по избранным, а затем по отображаемому имени.

getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
null, 
null, 
null, 
ContactsContract.Contacts.STARRED + " DESC, " + ContactsContract.Contacts.DISPLAY_NAME_PRIMARY + " ASC"); 
+0

Это работает, получая все контакты, упорядоченных по убыванию фаворитов, однако другие не любимые контакты сортируются в произвольном порядке :(Кроме того, почему это работает только с порядка сортировки DESC и ASC? – akdsouza

+0

Если вы хотите запросите избранные контакты сначала, вы должны выбрать порядок DESC, потому что столбец «Звездный» - 1 для фаворитов, а 0 - нет. Я изменю свой ответ, чтобы помочь вам с заказом. –

+0

Удивительно, это сработало отлично. Думаю, вы пропустили + после «DESC», пожалуйста, отредактируйте свой ответ, чтобы отразить это, чтобы я мог принять ваш ответ как решение :) – akdsouza