通过联系人查询最新的SMS消息组

时间:2012-03-22 15:36:43

标签: android sql android-contentprovider

与Message应用程序一样,第一个Activity显示按人员分组的最新SMS和计数。

示例我与Chris交换了50个文本,60个与Aline交换,40个与Ray交换... 该应用程序显示类似这样的内容

Chris (50) Hey how are you lately ?    
Aline (60) Let's catch up     
Ray   (40) Here is my number
Ethan (1)  I wrote a solution

我正在努力做同样的事情。我查询所有短信,然后我对它们进行排序。 至少它的效率是O(n)。

Cursor cur = this.getContentResolver().query(Uri.parse("content://sms"), null, null, null, null);
int count = cur.getCount();

// iterate all the SMS
for (int i=1 ; i<=count ; i++){
    // processing
    ....

    cur.moveToNext();
}

有没有办法查询按人员分组的最新邮件(收到或发送没有草稿类型)并获取某人的短信数量? 我想有多个查询。

1 个答案:

答案 0 :(得分:9)

我认为这会做你想做的事情:

Cursor cur = this.getContentResolver().query(Uri.parse( "content://mms-sms/conversations?simple=true"), null, null, null, "normalized_date desc" );

返回的光标将包含每个对话中的最新消息以及每个对话中的消息量。