我在Android 4.4.2上测试我的应用。我的应用程序是默认的短信应用程序。
我使用此代码编写短信:
ContentValues values = new ContentValues();
values.put("address", phoneNumber);
values.put("date", System.currentTimeMillis());
values.put("body", message);
values.put("type", inbox);
values.put("read", read);
context.getContentResolver().insert(Uri.parse("content://sms"), values);
邮件已正确写入,但其日期设置为1970年1月1日。
在Android 4.0.x,4.1.x和4.2.x上,这样可以正确保存数据,但在android 4.4.2上没有。
问题是System.currentTimeMillis()
?我该如何解决这个问题?
编辑:问题只对原始时间戳感兴趣。收到的时间戳保留在1970年1月1日。也许我必须添加另一个参数来保存这些其他信息?
谢谢。
答案 0 :(得分:2)
您必须使用date_sent
而不是date
:
values.put("date_sent", System.currentTimeMillis());
否则,date_sent
将0
对应01/01/1970
!