如何在android中检索短信日期字段

时间:2012-01-17 13:19:33

标签: android android-intent

我是Android编程的新手,我正在编写一些测试代码,以使用短信意图检索收件箱中的所有短信。我写的代码如下:

Uri uri = Uri.parse("content://sms/inbox");
Cursor c = getContentResolver().query(uri, new String[]{"address","person","date","body"}, null, null, null);
c.moveToFirst();
if(c.getCount() > 0){
        while(!c.isLast()){
            System.out.println(c.getString(c.getColumnIndex("date")));
            c.moveToNext();
        }
}

这是正确的方法吗? 我看到日期列的值被检索为“1326781012725”。 我想将其转换为YYYY-MM-DD这样的可读格式。我可以这样做吗?

请注意,我使用的是API版本10,因此api-cursor.getType()(返回列的数据类型)不可用。

感谢。

1 个答案:

答案 0 :(得分:2)

“1326781012725”是时间戳。时间戳转换可以这样做;

final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
Date date = cal.getTime();
mHour = date.getHours();
mMinute = date.getMinutes();