从这个问题,我可以看到如何获得未读总数:Get number of unread sms
我已经在Google上搜索了此内容,但不幸的是,我不知道该如何处理。
我想知道是否有可能获取特定号码的文本数(未读),或者,为我做更多的工作,获取列表中每个电话号码的未读文本数,然后自行制作比较。最终结果将是,例如,我能够采用数字111并查看他们有多少未读测试,或者简单地获取一个包含数字和未读文本的ArrayList或类似构造,从而循环遍历和与数字111进行比较。
最佳答案
在ContentResolver查询中使用android.provider.Telephony.TextBasedSmsColumns中的列来查找来自特定地址但未读取的SMS消息:
使用以下列竞争者:
Telephony.TextBasedSmsColumns.ADDRESS
Telephony.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();