我可以将我的短信收件箱内容放入数组吗?

时间:2012-05-14 20:07:26

标签: android listview sms

这适用于包含两个textview的列表视图。第一个textview列出了联系人,而第二个textview则显示收件箱中的邮件数量来自尊重的联系人。

通过解析

,我已经能够计算设备上收件箱中的邮件数量
String inbox = "content://sms/inbox"

成一个字符串。但我想要更深入,而不仅仅是一次性付款。是否可以深入收件箱并将邮件总数分成相应的联系人?例如,如果我有3个联系人和一共20个消息,contact1有11条消息,contact2有4条消息,contact3有6条消息。

1 个答案:

答案 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+,我建议迭代常规光标并自己对消息进行排序。