我正在实施此处讨论的方法: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显示在列表顶部。
答案 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