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

Ray*_*non 6 sql android 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
Run Code Online (Sandbox Code Playgroud)

我也是想做同样的事情.我查询所有短信,然后我对它们进行排序.至少它的效率是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();
}
Run Code Online (Sandbox Code Playgroud)

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

gel*_*upa 9

我想这会做你想要的:

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

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