【问题标题】:How to filter app-private files in Android?如何在 Android 中过滤应用程序私有文件?
【发布时间】:2016-01-07 01:41:07
【问题描述】:

在 Android 中,应用可以使用私有文件,即只能由该应用查看和操作。它可以存储在任何地方,并且它的管理对应用程序是透明的(它可以像任何其他文件一样被操作)。

现在该应用程序有了生命,虽然它可以创建和读取文件,但有时它们很旧,可能需要删除。显然,由于这些文件是应用程序私有的,因此只有应用程序可以删除它们。虽然可以一个一个地删除文件,但我找不到任何基于文件的应用程序隐私过滤目录文件的方法。换句话说,如果一个应用程序没有保留所有应用程序私有文件的列表,那么删除它们的唯一明显方法是用户从 Android 应用程序管理器中清除应用程序数据。

所以我的问题是,有没有办法以编程方式删除我的特定应用程序私有的所有文件?或者,如果没有,是否有处理应用程序私有文件生命周期的最佳实践?

【问题讨论】:

  • 使用之前建议和删除的解决方案,结果证明是可行的。当使用 getExternalFileDir() 创建私有文件时,列出此文件夹中的文件只会列出私有文件(而不是公共文件)。

标签: android file storage


【解决方案1】:

如果您使用Context.openFileOutput(filename, Context.MODE_PRIVATE) 创建文件,则可以使用Context.fileList() 列出应用的私有文件。

对于其他的getExternal*Dir(*为Cache、Files、Media)可以用来获取其他的文件。

【讨论】:

  • 我添加了getExternal*Dirs 选项来完成答案。 Ofc,学分归于以前发布的答案的作者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 2013-03-31
  • 1970-01-01
相关资源
最近更新 更多