file.lastModified () n'est jamais ce qui a été défini avec file.setLastModified ()

J'ai un problème avec millis définir et de lire sur Android 2.3.4 sur un Nexus One. C'est le code:

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();
}

Dans ce petit test que j'ai écris 1310198774 mais le résultat est retourné à partir de lastModified() est 1310199771000.

Même si j'ai coupé la fin "000" il y a une différence de plusieurs minutes.

J'ai besoin de synchroniser des fichiers entre un service et l'appareil Android. Le lastmodification millis font partie des données transmises par ce service. J'ai placé le millis à la création/copier des fichiers et des dossiers à vérifier si le fichier/dossier doit être remplacé.

Tout fonctionne MAIS le millis qui sont retournés à partir du système de fichiers sont différents des valeurs qui ont été définies.

Je suis assez sûr qu'il ya quelque chose de mal avec mon code mais je ne le trouve pas.

Merci beaucoup à l'avance.
HJW

source d'informationauteur Harald Wilhelm