2015-03-04 2 views
0

От этого вопроса я могу видеть, как получить общее непрочитанных: Get number of unread smsЗапрос непрочитанных Тексты для конкретного контакта Android


Я искал это на Google, но, к сожалению, не понимаю, как я могу идти об этом.



мне интересно, если это возможно, чтобы получить количество текстов (непрочитанные) для определенного числа, или, чтобы сделать больше работы на моем конце, получить количество непрочитанных текстов для каждого номера телефона в список, а затем выполните мои собственные сравнения. Конечным результатом будет то, что я могу, например, взять число 111 и посмотреть, сколько у меня непрочитанных тестов или просто получить ArrayList или аналогичную конструкцию, содержащую числа и непрочитанные тексты для каждого, через которые можно выполнить цикл и сравнить с номером 111.

ответ

2

Используйте столбцы из android.provider.Telephony.TextBasedSmsColumns в вашем ContentResolver запросе найти SMS-сообщения, которые с определенного адреса и не читали:

Используйте эти contants колонки:

Telephony.TextBasedSmsColumns.ADDRESS

Телефония .TextBasedSmsColumns.READ

Что-то вроде этого:

ContentResolver resolver = context.getContentResolver(); 
Cursor cursor = resolver.query(Telephony.Sms.CONTENT_URI, 
       null, 
       "WHERE " + Telephony.TextBasedSmsColumns.READ + " = ? and " 
       + Telephony.TextBaseSmsColumns.ADDRESS + "= ?" , 
       new String[]{"false", "+1 555 555 1212"}, 
       Telephony.Sms.Conversations.DEFAULT_SORT_ORDER); 

INT unreadCount = cursor.getCount();

Смежные вопросы