我正在实现这里讨论的方法:How to Read MMS Data in Android?
我正在尝试读取短信和彩信到一个单一的列表视图。我做得很好,但当我尝试排序时,我会将所有的短信排序在一起,然后是所有的彩信排序在一起。
下面是我的代码:
Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "date DESC");谁能告诉我如何组合这两个来源,或者如何像内置的Android应用程序那样将彩信组合到短信对话中?
编辑:我注意到短信的日期比彩信的日期多了几位。
编辑2:像这样添加"julianday()“:
Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "julianday(date) DESC");使彩信显示在列表顶部。
发布于 2012-09-08 23:52:41
对于订单,尝试使用normalized_date desc而不是date desc。
应该能行得通。
发布于 2015-10-01 17:40:28
真正的问题似乎是,在数据库中,短信和彩信的日期存储方式并不完全相同。
因此,您需要首先查询数据库,只查找"date“字段。(不是在某些设备上会崩溃的normalized_date )。
然后用Java语言对列表进行编程排序,考虑到对于彩信,日期需要乘以1000,如下所示:How do the retrieve the date of the mms from content://mms.*或这里的mms sent/recive date is always in 1970
https://stackoverflow.com/questions/10964647
复制相似问题