如何检测Android设备是否以秒或毫秒存储媒体日期?

时间:2017-06-30 08:46:09

标签: android timestamp android-contentresolver

我有一个小问题,不同的Android设备以秒或毫秒返回图像采集日期时间戳。我使用Ctrl+P然后使用内容解析器查询结果。

我发现三星Galaxy J7上的Intent.ACTION_PICK列以秒为单位返回,但三星Edge 7上的返回时间为毫秒。如何确定设备使用哪一个?

2 个答案:

答案 0 :(得分:2)

毫秒级将大1000倍。在过去几年中,设备上的所有时间戳都应该是相对较新的。因此,如果数字高于100亿,则为毫秒。如果它低于它的秒数。这项测试将适用于下个世纪左右。

答案 1 :(得分:1)

当您处理Android设备拍摄的照片时,我们可以假设在2000年之前的日期已经过去了。

2000-01-01T00:00Z的时间戳为 946684800 秒(或 946684800000 毫秒)。因此,如果该值低于946684800000,那么您可以在几秒钟内假设它。

当然你可以更精确,而不是2000年,你可以使用first Android version release之后的日期,或者甚至丢弃旧版本并考虑最后N个版本(N可以随意使用)。以下是Android版本发布日期的时间戳(所有日期均基于this link - 时间设置为午夜,偏移量为 UTC ):

2008-09-23T00:00Z: 1222128000000 milliseconds
2009-02-09T00:00Z: 1234137600000 milliseconds
2009-04-27T00:00Z: 1240790400000 milliseconds
2009-09-15T00:00Z: 1252972800000 milliseconds
2009-10-26T00:00Z: 1256515200000 milliseconds
2010-05-20T00:00Z: 1274313600000 milliseconds
2010-12-06T00:00Z: 1291593600000 milliseconds
2011-02-22T00:00Z: 1298332800000 milliseconds
2011-10-18T00:00Z: 1318896000000 milliseconds
2012-07-09T00:00Z: 1341792000000 milliseconds
2013-10-31T00:00Z: 1383177600000 milliseconds
2014-11-12T00:00Z: 1415750400000 milliseconds
2015-10-23T00:00Z: 1445558400000 milliseconds
2016-08-22T00:00Z: 1471824000000 milliseconds