如何将SMS和MMS排序在一起?

时间:2012-06-09 21:17:26

标签: android sms mms

我正在实施此处讨论的方法:How to Read MMS Data in Android?

我正在尝试将短信和彩信读入单个列表视图。我做得很好,但是当我尝试排序时,我将所有的SMS整理在一起,然后将所有的MMS整理在一起。

这是我的代码:

Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "date DESC");

有人能告诉我如何将这两个来源结合起来,或者如何将MMS与内置的Android应用程序中的短信对话结合起来吗?

编辑:我注意到短信的日期比MMS的日期多几位。

编辑2:像这样添加“julianday()”:

Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "julianday(date) DESC");

使MMS显示在列表顶部。

2 个答案:

答案 0 :(得分:7)

为订单尝试normalized_date desc而不是date desc

它应该有用。

答案 1 :(得分:0)

这里的真正问题似乎是在数据库中,日期与SMS和MMS的存储路径不完全相同。

因此,您需要先查询数据库,查找" date"领域。 (不会在某些设备上崩溃的normalized_date)。

然后以编程方式对您的列表进行排序,考虑到MMS, 日期需要乘以1000,如下所示: How do the retrieve the date of the mms from content://mms. * 或者在这里 mms sent/recive date is always in 1970