查询特定联系人的未读短信 Android
Query Unread Texts for Specific Contact Android
从这个问题我可以看出如何获得未读总数:Get number of unread sms
我在 Google 上搜索过这个,但不幸的是我不明白我会怎么做。
我想知道是否有可能获得特定数字的文本数量(未读),或者,为了在我这边做更多的工作,获取列表中每个 phone 数字的未读文本数量,以及然后做我自己的比较。最终的结果是,例如,我能够获取数字 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();
从这个问题我可以看出如何获得未读总数:Get number of unread sms
我在 Google 上搜索过这个,但不幸的是我不明白我会怎么做。
我想知道是否有可能获得特定数字的文本数量(未读),或者,为了在我这边做更多的工作,获取列表中每个 phone 数字的未读文本数量,以及然后做我自己的比较。最终的结果是,例如,我能够获取数字 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();