У меня проблема с набором миллисов и чтение на Android 2.3.4 на Nexus One. Это код:
File fileFolder = new File(Environment.getExternalStorageDirectory(), appName + "/"
+ URLDecoder.decode(folder.getUrl()));
if (fileFolder != null && !fileFolder.exists()) {
fileFolder.setLastModified(1310198774);
fileFolder.mkdirs();
fileFolder.setLastModified(1310198774);
}
if (fileFolder != null && fileFolder.exists()) {
long l = fileFolder.lastModified();
}
В этом небольшом тесте я пишу 1310198774, но результат, который возвращается из lastModified(), равен 1310199771000.
Даже если я вырезаю конечный "000", разница в несколько минут.
Мне нужно синхронизировать файлы между веб-сервисом и устройством Android. Минуты последней модификации являются частью данных, отправленных этой службой. Я устанавливаю миллионы для созданных/скопированных файлов и папок, чтобы проверить, нужно ли перезаписывать файл/папку.
Все работает, но миллины, которые возвращаются из файловой системы, отличаются от значений, которые были установлены.
Я уверен, что с моим кодом что-то не так, но я не могу его найти.
Большое спасибо заранее. HJW