问题描述
// Get the oldState input stream
FileInputStream instream = new FileInputStream(oldState.getFileDescriptor());
DataInputStream in = new DataInputStream(instream);
try {
// Get the last modified timestamp from the state file and data file
long stateModified = in.readLong();
long fileModified = dataFile.lastModified();
if (stateModified != fileModified) {
// The file has been modified,so do a backup
// Or the time on the device changed,so be safe and do a backup
} else {
// Don't back up because the file hasn't changed
return;
}
} catch (IOException e) {
// Unable to read state file... be safe and do a backup
}
当我通过日志测试时:
Log.i(Const.TAG,"\n" +
"stateModified:" + stateModified + "\n" +
"fileModified:" + fileModified
);
它给了我如此荒谬的数字:
stateModified:1729382258125336577
fileModified:1617703865000
那么,进行这种比较的意义何在:
if (stateModified != fileModified)
其中数字差异很大。
我尝试使用 bmgr
实用程序执行多次备份/恢复,但情况没有改变。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)