这适用于包含两个textview的列表视图。第一个textview列出了联系人,而第二个textview则显示收件箱中的邮件数量来自尊重的联系人。
通过解析
,我已经能够计算设备上收件箱中的邮件数量String inbox = "content://sms/inbox"
成一个字符串。但我想要更深入,而不仅仅是一次性付款。是否可以深入收件箱并将邮件总数分成相应的联系人?例如,如果我有3个联系人和一共20个消息,contact1有11条消息,contact2有4条消息,contact3有6条消息。
答案 0 :(得分:0)
要计算每个发件人收件箱中的文本数量,可以使用SQL Group By子句。这是将Group By子句隐藏到ContentProvider中的流行技巧:
Cursor cursor = getContentResolver().query(
Uri.parse("content://sms/inbox/"),
new String[] { "_id", "address", "count(*) as totals" },
"1) Group By (address",
null,
null);
然而,这不适用于Android 4.0+。 (对我来说,设计没有Group By子句的ContentProviders就像制作一个没有数字的键盘......)对于4.0+,我建议迭代常规光标并自己对消息进行排序。