- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
file.lastModified()
返回最后修改日期。文件似乎没有任何方法来获取上次访问日期。有没有办法以编程方式获取 android 中任何文件的最后访问日期/时间?
最佳答案
您可以使用 stat
获取上次访问时间或 lstat
.这两种方法,android.system.Os.stat(String path)
和 android.system.Os.lstat(String path)
, 在 Android 5.0 中公开。在以前的 Android 版本中,您需要使用反射或在 shell 中运行命令。
Android 5.0+
long lastAccessTime = Os.lstat(file.getAbsolutePath()).st_atime;
Android 5.0之前使用反射
Class<?> clazz = Class.forName("libcore.io.Libcore");
Field field = clazz.getDeclaredField("os");
if (!field.isAccessible()) {
field.setAccessible(true);
}
Object os = field.get(null);
Method method = os.getClass().getMethod("lstat", String.class);
Object lstat = method.invoke(os, file.getAbsolutePath());
field = lstat.getClass().getDeclaredField("st_atime");
if (!field.isAccessible()) {
field.setAccessible(true);
}
long lastAccessTime = field.getLong(lstat);
我认为 Android 上不会使用上次访问时间。来自 java.nio
文档:
If the file system implementation does not support a time stamp to indicate the time of last access then this method returns an implementation specific default value, typically the last-modified-time or a FileTime representing the epoch (1970-01-01T00:00:00Z).
我测试了使用以下命令更改上次访问时间:
touch -a [PATH]
当我以 root 用户身份运行命令时,这确实改变了上次访问时间。但是,我认为上次访问时间不会在 Android 上更新/使用。
关于android - Android 中任何文件的上次访问时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37409730/
之前看到一些类似的问题,想弄清楚。 在this article ,据说异步调用“没有线程”。 然而,in another one ,据说 Here, however, we’re running th
我为我公司的平板电脑(SAMSUNG Galaxy Tab Active2)开发了一个简单的软件,自上周五(2018 年 11 月 23 日)以来,它无法正常工作。我检查了该应用程序的所有功能,其中有
我正在使用 hadoop map-reduce 作业进行一些文本处理。我的工作已完成 99.2%,并停留在上一个 map 工作上。 map 输出的最后几行如下所示。上次发生此问题时,我尝试打印出从 m
上次 Ubuntu 更新后有人对 Docker 有疑问吗?我有 2 个由 docker-compose 在 ubuntu18.04 中运行的项目。两个项目都运行良好,但在 *.yml 中进行 0 次更
SQL Developer 在表中显示公共(public)同义词的创建和上次 DDL 时间: CREATED 15-AUG-09 LAST_DDL_TIME 15-AUG-09 O
我正在使用带有以下插件的 mavenized 库项目: com.jayway.maven.plugins.android.generation2
我正在使用 Jssor Slider 作为轮播。在 Google Chrome 上次更新到版本 45.0.2454.85 之前,它一直运行良好。想法是它不显示图像。目前,它们位于标签中,可在 Safa
我是一名优秀的程序员,十分优秀!