Android 11无需所有文件访问权限设置文件修改日期是否可行?
Android 11无所有文件访问权限场景下能否设置文件修改日期?
在不申请所有文件访问权限的前提下,Android 11系统无法修改公共存储内文件的最后修改日期,目前公开API均不支持该操作,具体验证情况如下:
- 调用
MediaStoreAPI的createWriteRequest方法申请写入权限后,无法通过File API调用setLastModified修改文件时间,仅可通过ContentResolver更新部分指定字段,last_modified字段属于禁止更新的范围,操作时会收到Ignoring mutation of last_modified...的系统警告。 - 该限制是系统底层的强制逻辑,设计原因如下:
媒体扫描器控制的列值不允许应用写入,因为此处的任何修改都不会同步到磁盘上的实际元数据,重新扫描时会被覆盖。
- 尝试通过
ContentResolver修改DocumentsContract.Document.COLUMN_LAST_MODIFIED字段、使用DocumentContract更新最后修改日期的方案也无法生效。
内容的提问来源于stack exchange,提问作者JayTee
相关产品推荐
相关产品推荐

